JS 控制VIEWPORT属性,在不同终端类型中兼容自适应显示
来源:互联网 发布:微信生成器软件 编辑:程序博客网 时间:2024/06/05 17:51
首先你要设置meta viewport属性。
以下是判断浏览器类型后,通过js设置meta viewport属性的实例,在不同设备终端兼容性显示自适应页面
<meta name="viewport" content="width=device-width, target-densityDpi=device-dpi, user-scalable=yes">
然后再JS代码中设置如下代码
var viewport = document.querySelector("meta[name=viewport]");var winWidths=$(window).width();var densityDpi=640/winWidths;densityDpi= densityDpi>1?300*640*densityDpi/640:densityDpi;if(isWeixin()){viewport.setAttribute('content', 'width=640, target-densityDpi='+densityDpi);}else{viewport.setAttribute('content', 'width=640, user-scalable=no');window.setTimeout(function(){viewport.setAttribute('content', 'width=640, user-scalable=yes');},1000);}function isWeixin(){var ua = navigator.userAgent.toLowerCase();if(ua.match(/MicroMessenger/i)=="micromessenger") {return true;} else {return false;}}
以下是判断浏览器类型后,通过js设置meta viewport属性的实例,在不同设备终端兼容性显示自适应页面
//获取并判断客户端类型 function iswhichwapdev(){ var viewport = document.querySelector("meta[name=viewport]");//获取meta对象的第一种方法<code class="html spaces"></code><code class="html plain"> //var viewport = document.getElementsByTagName('meta')[1]; </code>//获取meta对象的第二种方法 var agentcheck=navigator.userAgent.toLowerCase(); var isAndroid=true; var isIPone=false; var keywords = ["mobile", "android", "symbianos", "windows phone", "mqqbrowser", "nokia", "samsung", "midp-2", "untrusted/1.0", "windows ce", "blackberry","ucweb", "brew", "j2me", "yulong", "coolpad", "tianyu", "ty-", "k-touch", "haier", "dopod", "lenovo", "huaqin", "aigo-", "ctc/1.0", "ctc/2.0", "cmcc", "daxian", "mot-", "sonyericsson", "gionee", "htc", "zte", "huawei", "webos", "gobrowser", "iemobile", "wap2.0","wapi","ipad","ipod"]; //判断是否是iphone; var rekeywords=["iphone"]; if (agentcheck!=null){ for (var i = 0; i < rekeywords.length; i++) { if ( agentcheck.indexOf(rekeywords[i].toLowerCase())>-1){ isAndroid=false; isIPone=true; } } } if (isAndroid){ for (var i = 0; i < keywords.length; i++) { if ( agentcheck.indexOf(keywords[i].toLowerCase())>-1) { viewport.setAttribute('content', 'width=772px,target-densitydpi=device-dpi, initial-scale=1.0, minimum-scale=1.0, maximum-scale=2.0, user-scalable=yes'); } } } if (isIPone) { viewport.setAttribute('content', 'width=772px,target-densitydpi=device-dpi, initial-scale=0.4, minimum-scale=0.4, maximum-scale=2.0, user-scalable=yes'); } }
0 0
- JS 控制VIEWPORT属性,在不同终端类型中兼容自适应显示
- JS 控制VIEWPORT在微信上正常显示
- js控制在不同表格中切换,兼容IE与火狐
- 兼容在不同浏览器不同分辨率下DIV高度自适应
- js 控制json在html中显示
- 终端自适应js操作代码实例,不同屏幕比例尺寸
- 关于如何用rem兼容不同手机屏幕大小不一致问题以达到多终端自适应问题
- 在移动浏览器中使用viewport元标签控制布局
- android:excludefromRecents属性控制在不在recent列表中显示
- android:excludefromRecents属性控制在不在recent列表中显示
- linux在终端中登录不同用户?
- 设置viewport后Colorbox在iPhone中不能居中显示
- linux在ANSI兼容终端里显示彩色字符方法
- printf在ANSI兼容终端下显示彩色文本
- 浅谈CSS在不同的浏览器控制自适应高度
- 在Qt中创建属性表的步骤(这是使用各个类型不同的PropertyManager)
- JS&RE 控制图片显示大小, 弹出窗口自适应大小,自居中, 结合UBB与正则使用 By Stabx
- 网页在IE、Firefox、Opera中显示不兼容方法(包括CSS和JS)
- Google Volley使用之自定义
- 为什么构造函数不能为虚函数
- Java生成MD5摘要(MD5 SHA-1)
- .net 在byte[]数组中进行Readline
- 重学JAVASE
- JS 控制VIEWPORT属性,在不同终端类型中兼容自适应显示
- Android系统dimension单位详解
- Java 异常处理
- 体绘制(Volume Rendering)概述之2:体数据详解!!!(包括下载网址)
- 虚拟机安装步骤
- poj 2955 Brackets
- Android真机调试
- Spark&Spark性能调优实战
- 使用session技术来实现网上商城购物车的功能【整理】