三种检测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 相关文章推荐
Javascript Cookie读写删除操作的函数
Mar 02 Javascript
javascript判断office版本示例
Apr 11 Javascript
Javascript中使用parseInt函数需要注意的问题
Apr 02 Javascript
jquery使用经验小结
May 20 Javascript
JavaScript中使用自然对数ln的方法
Jun 14 Javascript
jquery插件treegrid树状表格的使用方法详解(.Net平台)
Jan 03 Javascript
基于JavaScript实现带数据验证和复选框的表单提交
Aug 23 Javascript
浅谈JavaScript中的属性:如何遍历属性
Sep 14 Javascript
jQuery 筛选器简单操作示例
Oct 02 jQuery
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
Jan 13 Vue.js
js实现简单商品筛选功能
Feb 02 Javascript
JavaScript文档对象模型DOM
Nov 20 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的网址
2006/11/25 PHP
一些被忽视的PHP函数(简单整理)
2010/04/30 PHP
实例讲解如何在PHP的Yii框架中进行错误和异常处理
2016/03/17 PHP
javascript数组操作(创建、元素删除、数组的拷贝)
2014/04/07 Javascript
js与jquery实时监听输入框值的oninput与onpropertychange方法
2015/02/05 Javascript
jQuery插件jcrop+Fileapi完美实现图片上传+裁剪+预览的代码分享
2015/04/22 Javascript
AngularJS控制器之间的数据共享及通信详解
2016/08/01 Javascript
浅谈js中startsWith 函数不能在任何浏览器兼容的问题
2017/03/01 Javascript
javascript中this用法实例详解
2017/04/06 Javascript
让你彻底掌握es6 Promise的八段代码
2017/07/26 Javascript
关于vue中watch检测到不到对象属性的变化的解决方法
2018/02/08 Javascript
分享一个vue项目“脚手架”项目的实现步骤
2019/05/26 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
深入理解 JS 垃圾回收
2019/06/03 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
基于js实现逐步显示文字输出代码实例
2020/04/02 Javascript
[01:17]辉夜杯战队访谈宣传片—EHOME
2015/12/25 DOTA
[02:16]深扒TI7聊天轮盘语音出处2
2017/05/11 DOTA
[52:02]完美世界DOTA2联赛PWL S2 FTD.C vs SZ 第一场 11.27
2020/11/30 DOTA
Python多线程编程(八):使用Event实现线程间通信
2015/04/05 Python
wxPython中listbox用法实例详解
2015/06/01 Python
使用Mixin设计模式进行Python编程的方法讲解
2016/06/21 Python
Python使用pip安装pySerial串口通讯模块
2018/04/20 Python
windows7 32、64位下python爬虫框架scrapy环境的搭建方法
2018/11/29 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
如何在mac环境中用python处理protobuf
2019/12/25 Python
Python爬虫爬取、解析数据操作示例
2020/03/27 Python
Django后端分离 使用element-ui文件上传方式
2020/07/12 Python
解决导入django_filters不成功问题No module named 'django_filter'
2020/07/15 Python
英国户外服装品牌:Craghoppers
2019/04/25 全球购物
双立人美国官方商店:ZWILLING集团餐具和炊具
2020/05/07 全球购物
什么是URL
2015/12/13 面试题
高三自我鉴定
2013/10/23 职场文书
幼儿教师继续教育培训心得体会
2016/01/19 职场文书
MySQL 慢查询日志深入理解
2021/04/22 MySQL
基于Pygame实现简单的贪吃蛇游戏
2021/12/06 Python