三种检测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 相关文章推荐
脚本收藏iframe
Jul 21 Javascript
Javascript 去除数组的重复元素
May 04 Javascript
jquery实现的仿天猫侧导航tab切换效果
Aug 24 Javascript
Augularjs-起步详解
Jul 08 Javascript
Chrome调试折腾记之JS断点调试技巧
Sep 11 Javascript
Vue中android4.4不兼容问题的解决方法
Sep 04 Javascript
在Vue组件中获取全局的点击事件方法
Sep 06 Javascript
Vue项目部署在Spring Boot出现页面空白问题的解决方案
Nov 26 Javascript
浅谈JavaScript面向对象--继承
Mar 20 Javascript
微信小程序用户授权,以及判断登录是否过期的方法
May 10 Javascript
JS实现炫酷雪花飘落效果
Aug 19 Javascript
解决vue打包报错Unexpected token: punc的问题
Oct 24 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实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
判断Keep-Alive模式的HTTP请求的结束的实现代码
2011/08/06 PHP
php运行提示:Fatal error Allowed memory size内存不足的解决方法
2014/12/17 PHP
PHP模板引擎Smarty内建函数foreach,foreachelse用法分析
2016/04/11 PHP
PHP实现基于面向对象的mysqli扩展库增删改查操作工具类
2017/07/18 PHP
php生成条形码的图片的实例详解
2017/09/13 PHP
thinkphp框架无限级栏目的排序功能实现方法示例
2020/03/29 PHP
jQuery插件 tabBox实现代码
2010/02/09 Javascript
js下判断 iframe 是否加载完成的完美方法
2010/10/26 Javascript
基于jquery的鼠标拖动效果代码
2012/05/30 Javascript
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
jquery批量设置属性readonly和disabled的方法
2014/01/24 Javascript
javascript数据类型示例分享
2015/01/19 Javascript
javascript中数组方法汇总
2015/07/07 Javascript
Webpack 实现 Node.js 代码热替换
2015/10/22 Javascript
在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口的方法
2016/08/05 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
JavaScript模块化之使用requireJS按需加载
2017/04/12 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
vue.extend实现alert模态框弹窗组件
2018/04/28 Javascript
详解ES6 Promise对象then方法链式调用
2018/10/20 Javascript
深入理解webpack process.env.NODE_ENV配置
2020/02/23 Javascript
[27:39]Ti4 循环赛第二日 LGD vs Fnatic
2014/07/11 DOTA
全面解读Python Web开发框架Django
2014/06/30 Python
Python3中常用的处理时间和实现定时任务的方法的介绍
2015/04/07 Python
使用Django的模版来配合字符串翻译工作
2015/07/27 Python
Python装饰器入门学习教程(九步学习)
2016/01/28 Python
python实现最速下降法
2020/03/24 Python
python之openpyxl模块的安装和基本用法(excel管理)
2021/02/03 Python
美国温暖商店:The Warming Store
2018/12/15 全球购物
英国和世界各地预订便宜的酒店:LateRooms.com
2019/05/05 全球购物
美国户外服装和装备购物网站:Outland USA
2020/03/22 全球购物
一份软件工程师的面试试题
2016/02/01 面试题
电气工程师岗位职责
2014/01/01 职场文书
穆斯林的葬礼读书笔记
2015/06/26 职场文书
六年级作文之家庭作文
2019/12/12 职场文书