对于移动端的页面,很多时候是不希望横屏显示的,有可能横屏显示页面显示不全或者影响美观,也或者其他的方面。

然而,横屏这个功能一般在手机或手机浏览网页的app上设置,作为网页是没有权限去操作这一设置的。

那么有什么办法能解决这一问题呢?

看成品请移步文章最后,。

看效果请点。

下面就简单讲讲两种方法

1. 通过判断窗口宽高值的比值判断是否横屏

对于正常手机屏幕来说,窗口宽度是小于窗口高度的,即 宽度/高度 的值是小于 1 的,那么如果手机横屏了呢,窗口原本的宽度变成了高度,原本的高度变成了宽度,此时, 宽高比就大于 1 了。以此来判断手机是否横屏。

代码如下:

functionrotate (){if(document.documentElement.clientWidth >document.documentElement.clientHeight){

alert('横屏了');

}else{

alert('没有横屏');

}

}

window.οnlοad=rotate;

window.οnresize= rotate;

但是,对于手机端的页面 ,一般 window.onload 和 window.onresize 两个事件都会被占用来做其他的事情,如果想这样写,就得在js中穿插 rotate 函数中的代码,使代码变得不那么规整。

2. 通过 orientationchange 事件判断是否横屏

orientationchange 为html5的新特性,是在用户水平或者垂直翻转设备(即方向发生变化)时触发的事件,而且这个事件一般不会被占用。

核心代码如下:

window.onorientatiοnchange=function(){if(window.orientation==90||window.orientation==-90){

alert('横屏了');

}else{

alert('没有横屏');

}

}

我们可以利用这个方法封装成一个自执行的js ,只要有用到,直接引用就可以了,很方便有木有

效果图如下:

代码如下:

//created : 2017.8.21//author : Guozhi_Han//Email : Guozhi_Han@126.com

(functionrotate(){var orientation=window.orientation;var pd = null;functioncreatePd(){if(document.getElementById('preventTran') === null){var imgData = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABaCAYAAADkUTU1AAAI9ElEQVR4Xu1cfXBcVRU/5+Z1N8GEj2AhFQvUIigfBetYaRVbBhADU2wHVoYk3bx3k8kMcSyFPxzUf8IfOjrqIHYUXbL3vW6mKXbtINapg1ColLEUnYIj9QPGOE0VdUjjlE3tdnffO87J7GY26yZ9H5tNst37X5tzzu/87rl777v3nnMR5rhFo9HLhBDrhRC3AMBqAFgBABfmYU8CwAgAHAGAVwDgJaXUO+Vc6u7uXhkOh0/GYrGxIC5jEOVZdLG3t7fdcZyHiOgORHSL4xDRfiHEE/F4fB8AEGNIKdcS0fMA8IxpmluC+OzWEdcY0Wh0jaZp2wFgjWulMoJE9CoRbRVCEHcCIp4PAOOpVOqSZDJp+7VdMcIbNmzQVqxYMYCIXwEA4dehEj2O+GlEfF/h/xFxfTwef9mv/YoQ7u/vb06n00kA+FypIxweAHgdAJ4DgF9nMpmj4+Pj77Jca2vr0nA4fC0ArAeAO4lotYvh/22l1JfnjXAkEmluaWn5JQB8ukx09hLRgGVZb7hxUNf1m4QQjxHRxlmI/0kpxZ3kqwWNMEopfwIAkRL0fwNAn1Lq51696ujouKKxsfEwAFw6k246nV45PDzMs7vnFoiwlPIRAPhuCeqbjuPcYVnWv7x609nZ+cFwOMzL0xVn0d2qlOKJ0XPzTZjXxYaGhqMAEC5C/aOmaetisRivr55aV1fXsiVLlhxExJVnU+QlyjTNz55NrtzffROWUj4DAJuKjI4j4up4PH7MjyOGYTyNiPe70SWiDCK+XymVciNfLOOLcDQaXaVpGk9EU/qO40Qtyxry6kBB3jCMpUQUEUJsIKIbEPEqANBmsseypmn+1CueL8JSyh8AQH8BjIiOmKb5ca/gs8l3dnae39jYeJfjODxjXw8APNSn1mMiUqZp9njF9EXYMIw3EfG6IsKbTNN81iu4F/mBgQExOjq6DgA2A8AnAeC3SqmHvdhgWb+E/4mIbXkwO5VKXZxMJj1PVF6drYS8X8IPI+K3AKCBiLabprmtEs5Uw4YvwuyYrusXnjlzRtu1a1eg7Vo1SAaepavtZCXxfEe4kk5U01adcDV7ez6w6hGej16vJmY9wtXs7fnAKhvhSCTS1NTUtFQIcZ5t2xUbBYjo+7TRbecIITKZTObk8PDwf8rpTCPT0dFxUTgc/ioA8Kdjg1uQhShHRG8T0bZTp069kEwmMwUfpwgbhnEtIv4GAC5YiAT8+sTEbdu+NZFI/GNqtxSJRFqbm5v/ioiFKxC/9heq3gki+qhpmu9ORrinp+cpIupdqN5WyK+fKaU2Y19f3wW5XO4Eb/XKGHYK9zteQIlIuDhQ92KyIrKO41yNhmF0IWLZsygi6jdN88mKoM2BEcMwHkTEH7o1TUSP8EH64wBQdgNfa4QBwCrcHHyhXC/VIOE9TJiPOu+tE+bZqsZ+wwBQj/C0kV2PsNv5v0pyXpel+pAuDUytDulfAMDd59KyVCdciPYiHdJj2Wx2zdDQ0N90Xf+wEILzRS7Kc5pch2spwg4iLo3H4+OFoEkpPwAAf8/flNYc4f1KqdtL5yMpJSfKfKqwLNVShA8rpW4uJdzT0/M6Ed1Uc4Q56w8RP6OU4ohOtu7u7tuEEM/nDyRqbkgzxywRDRLRbkTsRES9KDmmJgnP9mG7h494ONz/90NnrUW6LM1OWErJidd1wvUIV2nL5wXG7/awPqQX+bf0bIMkyd/S50yEiWi4Trh4PNTaOlyIMGfB3nMunHgQUYy/tL6RrzUqxzlJRFMf4l6WjErJIiJXajXPYG8NIm50izV5mabr+i1CCN+FT27BFoJcLpe7hi/EeeI6lE+6Xgh+zZUPu5VS909mAESj0as1TePqsfPmCm0+7RLRO7Ztr0okEiemklrypLlc7sr5dG4OsF8TQtwzODjIxWPTSwA4P6ulpYWrSh5DxE/MAXi1THKqBpcHfjOVSh0qrkadMelMStmSTqdbGxsbF1W+Vi6XOyOEOGFZVrpc71Ysy65aoQuKUycctAcXun49wgs9QkH9W5QR3rJly/VNTU0jsVjsv147YFERbm9vDy9btoxvA28koveI6POWZR3wQtoP4YLO5Bsb1Wy6rm8UQhSX2T+tlHrAiw+eCRuGsQcRbwOAo1xGK4T4VSaTeXFoaOiUF2A/slJKTpHkVMnJRkRPmqY5VdbrxqYfwuX2z1kA4Az0P/DzMgCwzzTN424c8CIjpdxd/MCC4zjbLMt6wosNz4R1Xb9ZCMHbydkaX+TxmzpcZ/xjpRSXzwdqfX19S3K5HG8ACrf5IIRYOzg4+KoXw54Jc+HysWPHuH74EpdA25VSW13Kziim6zqXy3OEC20slUq1eX2mxjNhRpNSmlxR64LEHk3THojFYjzkAzUp5e8AoLjs/kdKqQe9GvVLmNON+cGS2dpzjuNsmmnX4sVRXdc7hBA7i3R4hfiYUur3XuywrC/C/CBBOBzm93RC5QCJ6MWxsbGNe/fu9fxhUGovGo1e3tDQcAQRLy78jYieNU2z+EkN17x9Ec4P6xcAgJenaY2IDk5MTNyVTCYnXHsxgyB3bCgUehkRbywim7Ft+4ZEIvGWH/u+Ceu6/pAQ4ntlQF87ffr03UFL5Xt7ey+1bXsfP4ZSjOE4zqOWZfH7A76ab8JdXV1XhUKht2cY0qOO48gdO3bs9+OVYRh3AkAcES8r0edSHM7e5yMcX8034fyw/jMAXAMAXFNYehTETvFE83Wl1F/ceNfd3X2dEOJr+Sdqpj1CRkSHJyYmbg/6UwlE2DAMPuyLZLPZezVNiyFi6ZtazJOJ8+0F54Mdymazbx0/fnwyU2758uWtoVDoI7Ztr+WTRSJaW67eiSfBTCazeefOne+56bjZZAIRzhtmG8Q7mba2tu8AwBcrWKTFnfX4yMjIowcOHMgFJcv6lSA8zQ8p5a0AwJPZqiAOEtEb/AigZVkHg9gp1a04YQaIRCINzc3N9yHil4honYeIF4b/9/Pf374np5k6aU4IF4NJKT8EAO355E5+NelyACjcBvJ7WKMAwLusV3K53L5EIsH/nrP2PzAJNfmP9znfAAAAAElFTkSuQmCC';

pd= document.createElement('div');

pd.setAttribute('id','preventTran');

pd.style.position= 'fixed';

pd.style.left= '0';

pd.style.top= '0';

pd.style.width= '100%';

pd.style.height= '100%';

pd.style.overflow= 'hidden';

pd.style.backgroundColor= '#2e2e2e';

pd.style.textAlign= 'center';

pd.style.zIndex= '99999';

document.getElementsByTagName('body')[0].appendChild(pd);var img = document.createElement('img');

img.src=imgData;

pd.appendChild(img);

img.style.margin= '60px auto 30px'

var br = document.createElement('br');var p = document.createElement('p');

p.style.width= '100%';

p.style.height= 'auto';

p.style.fontSize= '22px';

p.style.color= '#626262';

p.style.lineHeight= '34px';

p.style.textAlign= 'center';

p.innerHTML= '为了您的良好体验';

p.appendChild(br);

p.innerHTML+= '请将手机/平板竖屏操作';

pd.appendChild(p);

}

}if(orientation==90||orientation==-90){if(pd == null && document.getElementById('preventTran') === null) createPd();

document.getElementById('preventTran').style.display = 'block';

}

window.onorientatiοnchange=function(){if(pd == null && document.getElementById('preventTran') == null) createPd();

document.getElementById('preventTran').style.display='none';

rotate();

};

})();

(完)

html 静止横屏_移动端开发-禁止横屏相关推荐

  1. flex 左右布局_移动端开发常用布局:前端弹性布局总结

    各位已经入坑的前端小伙伴,前面咱们已经给大家分享了移动端开发时候流式布局的应用场景及注意事项,今天再次给大家分享一个布局叫弹性布局,接下来咱们从如下几个方面,全方位的给大家介绍弹性布局的使用. 一:什 ...

  2. 移动端h5文字长按复制_移动端开发 H5 页面在 iOS手机上无法实现 长按复制文本 求解决...

    移动端开发 H5 页面在 iOS手机上无法实现 长按复制文本 百度谷歌搜索的答案是 iOS手机系统自带 需要设置禁用 我们需求是要实现此功能 可是我在手机测试 并没有实现长按复制文本 之前这样设置可以 ...

  3. Android 设置横屏,竖屏或者禁止横屏的方法

    在android 的配置文件AndroidManifest.xml中有 android:screenOrientation属性 下面看下各个属性 "unspecified":默认值 ...

  4. 移动端布局三种视口_移动端开发知识[系列] - 视口viewport

    移动端H5知识[系列] - 视口viewport HTML5学堂:移动端从2012年走到今日,已经占领了互联网的半壁江山.网站开发也从PC平台向移动端平台开发发展.作为一个优秀的前端开发者,除了能够处 ...

  5. java移动端开发_移动端开发

    1.移动端视口问题 视口是指浏览器的可视区域,移动端的视口到底是多宽呢? 现在市面上的大部分手机,比如iphone X,它的默认视口宽度为980px,而一个iphone X的屏幕宽度仅仅为375px. ...

  6. .net移动端开发_移动端开发1(前端一)

    Day14 1.视口:浏览器显示内容的屏幕区域 < meta name="viewport"//视图标签 content="width"//设备宽度 in ...

  7. 移动端,禁止横屏显示模板,干货!!!

    哈哈!好久没回来了!最近都比较忙.在完善集团官网时,考虑到在不同分辨率手机上,横屏也会有出入,如是想着禁用横屏显示!废话不多说 看代码: ----------------------------来了, ...

  8. 美年_移动端开发_权限控制_Spring Security入门与进阶

    文章目录 第三章权限控制 3.1. 认证和授权概念 3.2. 权限模块数据模型 3.3 RBAC权限模型扩展: [小结] 3.3. Spring Security简介 [讲解] [小结] 3.4. S ...

  9. 服务端mysql数据存储设计_服务端开发指南与最佳实战 | 数据存储技术 | MySQL(03) 如何设计索引...

    改善性能最好的方式,就是通过数据库中合理地使用索引,换句话说,索引是提高 MySQL 数据库查询性能的主要手段.在下面的章节中,介绍了索引类型.强制索引.全文索引. 基本索引类型 MySQL 索引可以 ...

  10. 体检预约系统(第六天 _ 移动端开发_体检预约)

    实现查询套餐详情的注意事项: 方案一. 代码封装多对多关系 public Setmeal getById(Integer id) {Setmeal setmeal = setmealDao.getBy ...

最新文章

  1. 2021年斯坦福AI指数报告重磅出炉!中国AI期刊影响力首超美国,视频处理是新风口...
  2. 【机器学习】最容易实现的基于OpenCV的人脸检测代码、检测器及检测效果
  3. Leetcode--190. 颠倒二进制位
  4. IDC报告:中国公有云服务市场同比增长49.7%,领跑全球
  5. Telephone Linse(POJ-3662)
  6. 4 基于优化的攻击——CW
  7. 拓端tecdat|R语言、SAS潜类别(分类)轨迹模型LCTM分析体重指数 (BMI)数据可视化
  8. 递归删除评论php,php如何递归删除文件
  9. java 网络百度搜索_Java爬虫怎么调用百度搜索引擎,对关键字的网页爬取?
  10. 小米便签源码分析——model包
  11. 怎样快速熟悉公司产品
  12. “我和刘德华直到现在都没离婚”-喻可欣坚称与刘德华已结婚
  13. 内存超频trfc_P55平台内存超频实战
  14. 学习opengl官方指南 01 opengl介绍
  15. 3D点云基础知识(一)-初始入门-知乎整理(一)
  16. 云销云仓商城系统开发 功能优势介绍
  17. Sofaboot学习整理
  18. 2019年1月份GitHub上最热门的开源项目
  19. 上随体导数的一些理解
  20. 拉链表的另类尝试,存档历史数据

热门文章

  1. 投票和排名系统C语言顺序表,电视大赛观众投票及排名系统C语言设计.docx
  2. mysqldump set-gtid-purged=OFF的问题
  3. Scratch编程入门-画图模块1【认识画图模块积木】
  4. c语言求范围内最大素数,for语句计算输出10000以内最大素数怎么搞最简单??各位大神们...
  5. c语言识别希腊字母吗,isalpha()
  6. 异数OS 织梦师-Xnign(四)-- 挑战100倍速Nginx,脚踩F5硬件负载均衡
  7. 微软推出 Go 语言免费中文教程,真香!
  8. 数理统计中常用函数、概率分布函数总结
  9. 李开复:AI巨头是有史以来最难以打破的垄断 | 谷歌和腾讯参投中国AI企业深圳晶泰科技
  10. Mac电脑Android模拟器连不上网,mac 解决安卓模拟器链接不上网络