三种检测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 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
JQUERY的属性选择符和自定义选择符使用方法(二)
Apr 07 Javascript
JQuery为页面Dom元素绑定事件及解除绑定方法
Apr 23 Javascript
js生成的验证码的实现与技术分析
Sep 17 Javascript
原生javascript实现自动更新的时间日期
Feb 12 Javascript
浅谈javascript:两种注释,声明变量,定义函数
Sep 29 Javascript
从零学习node.js之利用express搭建简易论坛(七)
Feb 25 Javascript
详解webpack 配合babel 将es6转成es5 超简单实例
May 02 Javascript
在vue-cli脚手架中配置一个vue-router前端路由
Jul 03 Javascript
js 原生判断内容区域是否滚动到底部的实例代码
Nov 15 Javascript
在vue项目中集成graphql(vue-ApolloClient)
Sep 08 Javascript
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 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
自制汽车收音机天线:收听广播的技巧和方法
2021/03/02 无线电
php 实现301重定向跳转实例代码
2016/07/18 PHP
如何在Mozilla Gecko 用Javascript加载XSL
2007/01/09 Javascript
javascript appendChild,innerHTML,join性能比较代码
2009/08/29 Javascript
Javascript解决常见浏览器兼容问题的12种方法
2010/01/04 Javascript
解决jquery submit()提交表单提示:f[s] is not a function
2013/01/23 Javascript
在Mac OS下使用Node.js的简单教程
2015/06/24 Javascript
基于jquery实现智能提示控件intellSeach.js
2016/03/17 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
js 自带的sort() 方法全面了解
2016/08/16 Javascript
探究JavaScript中的五种事件处理程序方式
2016/12/07 Javascript
javascript和jQuery中的AJAX技术详解【包含AJAX各种跨域技术】
2016/12/15 Javascript
node.js中debug模块的简单介绍与使用
2017/04/25 Javascript
在使用JSON格式处理数据时应该注意的问题小结
2017/05/20 Javascript
基于JavaScript实现无限加载瀑布流
2017/07/21 Javascript
jQuery选择器之属性筛选选择器用法详解
2017/09/19 jQuery
详解浏览器缓存和webpack缓存配置
2018/07/06 Javascript
javascript+HTML5 canvas绘制时钟功能示例
2019/05/15 Javascript
UEditor 自定义图片视频尺寸校验功能的实现代码
2020/10/20 Javascript
Python中比较特别的除法运算和幂运算介绍
2015/04/05 Python
Python根据区号生成手机号码的方法
2015/07/08 Python
python编程之requests在网络请求中添加cookies参数方法详解
2017/10/25 Python
python使用requests.session模拟登录
2019/08/09 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
Jupyter加载文件的实现方法
2020/04/14 Python
CSS3 实现图形下落动画效果
2020/11/13 HTML / CSS
简单html5代码获取地理位置
2014/03/31 HTML / CSS
个人自我鉴定怎么写
2013/10/28 职场文书
股权转让协议书范本
2014/04/12 职场文书
表彰大会策划方案
2014/05/13 职场文书
个人租房协议书样本
2014/10/01 职场文书
领导干部群众路线剖析材料
2014/10/09 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2016年会开场白台词
2015/06/01 职场文书
js基础语法与maven项目配置教程案例
2021/07/15 Javascript
MySQL如何修改字段类型和字段长度
2022/06/10 MySQL