三种检测iPhone/iPad设备方向的方法


Posted in Javascript onApril 23, 2014

使用meta tag "viewport"

viewport标签包含如下属性:

三种检测iPhone/iPad设备方向的方法 

为了能自动探测并适配到屏幕宽度,应该使用device-with而不是设定一个固定值,另外为了避免用户缩放导致界面超出屏幕,需要设置maximum-scale,

<meta name="viewport" content="width=device-width, maximum-scale=1.0" />

使用javascript脚本

下面的脚本通过检测屏幕宽度来检测方向并调整方向:

<script type="text/javascript"> 
var updateLayout = function() { 
if (window.innerWidth != currentWidth) { 
currentWidth = window.innerWidth; 
var orient = (currentWidth == 320) ? "profile" : "landscape"; 
document.body.setAttribute("orient", orient); 
window.scrollTo(0, 1); 
} 
}; iPhone.DomLoad(updateLayout); 
setInterval(updateLayout, 400); 
</script>

上述脚本可放在head部分

使用CSS

使用CSS的media query:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css"> 
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">
Javascript 相关文章推荐
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
JQERY limittext 插件0.2版(长内容限制显示)
Aug 27 Javascript
基于jquery的动态创建表格的插件
Apr 05 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
Dec 12 Javascript
javascript检测两个数组是否相似
May 19 Javascript
jQuery实现鼠标经过弹出提示信息的地图热点效果
Aug 07 Javascript
基于angular6.0实现的一个组件懒加载功能示例
Apr 12 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
Jul 10 Javascript
小程序实现授权登陆的解决方案
Dec 02 Javascript
Vue动态面包屑功能的实现方法
Jul 01 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
Jan 02 Javascript
javascript设计模式 ? 适配器模式原理与应用实例分析
Apr 13 Javascript
JS使用getComputedStyle()方法获取CSS属性值
Apr 23 #Javascript
javascript数字时钟示例分享
Apr 23 #Javascript
使用jQuery中的when实现多个AJAX请求对应单个回调的例子分享
Apr 23 #Javascript
iframe实用操作锦集
Apr 22 #Javascript
js操作输入框中选择内容兼容IE及其他主流浏览器
Apr 22 #Javascript
jquery分页插件jpaginate在IE中不兼容问题
Apr 22 #Javascript
jquery防止重复执行动画避免页面混乱
Apr 22 #Javascript
You might like
php读取目录及子目录下所有文件名的方法
2014/10/20 PHP
php计算给定日期所在周的开始日期和结束日期示例
2017/02/06 PHP
php array_chunk()函数用法与注意事项
2019/07/12 PHP
javascript 数组的方法集合
2008/06/05 Javascript
发一个自己用JS写的实用看图工具实现代码
2008/07/26 Javascript
js 获取和设置css3 属性值的实现方法
2013/05/06 Javascript
基于jquery插件制作左右按钮与标题文字图片切换效果
2013/11/07 Javascript
Js自定义多选框效果的实例代码
2017/07/05 Javascript
详解Vue 事件修饰符capture 的使用
2017/12/29 Javascript
angular2/ionic2 实现搜索结果中的搜索关键字高亮的示例
2018/08/17 Javascript
Vue项目实现简单的权限控制管理功能
2019/07/17 Javascript
更强大的vue ssr实现预取数据的方式
2019/07/19 Javascript
JavaScript基础之this和箭头函数详析
2019/09/05 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
vue+element UI实现树形表格
2020/12/29 Vue.js
[54:08]LGD女子刀塔学院 DOTA2炼金术士教学
2014/01/09 DOTA
Python实现视频下载功能
2017/03/14 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
浅谈python中np.array的shape( ,)与( ,1)的区别
2018/06/04 Python
Python实现全排列的打印
2018/08/18 Python
Django开发的简易留言板案例详解
2018/12/04 Python
Python学习之路安装pycharm的教程详解
2020/06/17 Python
html5 浏览器支持 如何让所有的浏览器都支持HTML5标签样式
2012/12/07 HTML / CSS
夏威夷咖啡公司:Hawaii Coffee Company
2019/09/19 全球购物
和睦家庭事迹
2014/05/14 职场文书
债务纠纷委托书
2014/08/30 职场文书
学生旷课检讨书500字
2014/10/28 职场文书
专项资金申请报告
2015/05/15 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书
教师节获奖感言
2015/07/31 职场文书
创业计划书之美容店
2019/09/16 职场文书
go mod 安装依赖 unkown revision问题的解决方案
2021/05/06 Golang
Redis Cluster集群动态扩容的实现
2021/07/15 Redis
tp5使用layui实现多个图片上传(带附件选择)的方法实例
2021/11/17 PHP
B站评分公认最好看的动漫,你的名字评分9.9,第六备受喜欢
2022/03/18 日漫
Redis入门基础常用操作命令整理
2022/06/01 Redis