移动端手机网页强制横屏或全屏模仿横评的js和css3方法

最近项目有电子合同方面的开发,需要电子签字,(用的jsignature插件,如果有空以后单独写个使用心得)。在手机小屏幕上签字,全屏横屏才是最好的体验。用户竖屏打开页面时要去签字,提示用户把手机横过来,这样体验太low了,程序员要考虑能用技术解决的就不要去劳烦用户(免得用户烦了回头打电话咬你)。


先来几个检测屏幕方向的方法:

//判断屏幕方向
if(window.orientation==90||window.orientation==-90){
    alert("横屏状态!")
}

//监听屏幕方向
window.onorientationchange = function(){ 
    switch(window.orientation){ 
        case -90: 
        case 90: 
            alert("横屏:" + window.orientation);
        case 0: 
        case 180: 
             alert("竖屏:" + window.orientation);
        break; 
    } 
} 
<!--css媒介查询判断-->
@media (orientation: portrait) { } 竖屏 
@media (orientation: landscape) { } 横屏

进入网页检测是否横屏状态,不是就给canvas加样式:

transform: rotate(90deg);

最初想的是把jsignature的canvas画布用css3transform横过来就可以了,谁想到,画布横是过来了,touch相关的手势还是竖的(签字啊,笔画不跟手怎么签)。如果是普通项目仅仅是显示的话,上面的方法已经够用了。

还好这个项目是网页内嵌app中,app有方法强制网页横屏,改了改页面,交上去了。(插件横屏未解决,待续)

2019年3月18日更新:

目前没有找到可以支持这个想法的方法,所以不如转变下思路
现在手机屏幕越来越大,页面做横竖两版样式,竖的时候提示用户横屏签字效果更佳
竖屏
横屏

  • 4
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值