移动页面缩放方法之(一)控制meta法
<!DOCTYPE HTML>
<html lang="zh-cn">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no"/>
<title>无标题文档</title>
<style>
*{
padding:0;
margin:0;
}
body{
background:#000;
}
div{
width:640px;
height:500px;
margin:0 auto;
line-height:500px;
font-size:30px;
text-align:center;
color:#fff;
background:red;
}
</style>
</head>
<body>
<div>我是测试的</div>
<script>
;!function(top){
var doc=top.document;
top.SetScale=function(sWidth){
this.obj=doc.querySelector('meta[name^=v]');
this.viewWidth=top.screen.width;
this.viewHeight=top.screen.height;
this.initWidth=sWidth;
this.scale=1;
this.init()['orientation' in window ?'change':'resize']();
};
SetScale.prototype={
init:function(){
this.scale=this.viewWidth/this.initWidth;
this.obj.content='width='+this.initWidth+',initial-scale='+this.scale+',user-scalable=no';
return this;
},
resize:function(){
var _this=this;
top.addEventListener('resize',function(){
_this.scale=top.screen.width/_this.initWidth;
_this.obj.content='width='+_this.initWidth+',initial-scale='+_this.scale+',user-scalable=no';
},false);
},
change:function(){
var _this=this;
top.addEventListener('orientationchange',function(){
var rotate=(top.orientation+90)/90%2;
if(!rotate){
_this.scale=_this.viewHeight/_this.initWidth;
_this.obj.content='width='+_this.initWidth+',initial-scale='+_this.scale+',user-scalable=no';
}else{
_this.scale=_this.viewWidth/_this.initWidth;
_this.obj.content='width='+_this.initWidth+',initial-scale='+_this.scale+',user-scalable=no';
}
},false);
},
};
SetScale.prototype.constructor=SetScale;
doc.addEventListener('DOMContentLoaded',function(){
new SetScale(640);
},false);
}(parent);
</script>
</body>
</html>
移动页面缩放方法之(一)控制meta法的更多相关文章
- 移动页面缩放方法之(二)控制HTML
<!DOCTYPE HTML> <html lang="zh-cn"> <head> <meta http-equiv="Con ...
- 移动页面缩放方法之(三)rem布局
<!DOCTYPE HTML> <html lang="zh-cn"> <head> <meta http-equiv="Con ...
- 关于页面缩放时css错乱的处理方法---之一
这几天遇到一个问题,就是在做网页的时候,页面缩放时,布局就乱了,原来的样子不会跟随缩放的放大或者缩小进行改变,直接导致的后果,就是页面很难看,无法使用 之前虽然写了代码,但是一直没有注意到缩放后页面的 ...
- 关于手机端适配的问题(rem,页面缩放)
关于手机端适配的问题(rem,页面缩放) 96 进击的小前端 关注 2018.02.02 13:57 字数 320 阅读 19评论 0喜欢 0 相信很多和会和我碰到一样的情况,就是你用rem去写移动端 ...
- 浏览器内核控制Meta标签说明文档【转】
背景介绍 由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览.基于IE的内核用于兼容网银.旧版网站.以360的几款浏览器为例,我们优先通过Webkit内核渲 ...
- 浏览器内核控制Meta标签说明文档
浏览器内核控制Meta标签说明文档 原文链接 背景介绍 由于众所周知的情况,国内的主流浏览器都是双核浏览器:基于Webkit内核用于常用网站的高速浏览.基于IE的内核用于兼容网银.旧版网站.以360的 ...
- js 页面刷新方法
1.reload方法,该方法强迫浏览器刷新当前页面语法:location.reload([bForceGet])参数:bForceGet,可选参数,默认为false从客户端缓存里取当前页.true,则 ...
- PHP页面跳转到另一个页面的方法
用HTTP头信息重定向到另外一个页面的方法如下: <? if (isset($url)) { Header("HTTP/1.1 303 See Other"); Header ...
- (实用篇)PHP页面跳转到另一个页面的方法总结
一.用HTTP头信息 也就是用PHP的header函数.PHP里的header函数的作用就是向浏览器发出由HTTP协议规定的本来应该通过WEB服务器的控制指令,例如声明返回信息的类型("C ...
随机推荐
- how to optimize javascript performance
https://developers.google.com/speed/articles/optimizing-javascript http://developer.yahoo.com/perfor ...
- Protues中有源蜂鸣器BUZZER不响的解决办法(有图)
这个是BUZZER有源蜂鸣器的protues连线图(FM是我自己的电压探针,可以删除的) 下面是我个人设置的蜂鸣器的参数(为什么很多人的这个蜂鸣器不响,是参数没有设置正确) 蜂鸣器不响的原因是 Ope ...
- linux下so动态库一些不为人知的秘密(转)
linux 下有动态库和静态库,动态库以.so为扩展名,静态库以.a为扩展名.二者都使用广泛.本文主要讲动态库方面知识.基本上每一个linux 程序都至少会有一个动态库,查看某个程序使用了那些动态库, ...
- 安装配置MongoDB
1.下载mongodb https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.6.8.tgz 2.解压 tar zxf mongodb-lin ...
- 解决 SQL Server 耗尽内存的情况
如果您碰到SQL Server服务造成内存不断扩展最终系统死机等情况,请按照以下方法解决. 原理:SQL Server 2000引入的动态内存分配机制,一般不能很好的回收内存,如果计算机一直不关 ...
- kafka主要配置
Kafka为broker,producer和consumer提供了很多的配置参数. 了解并理解这些配置参数对于我们使用kafka是非常重要的. 官网配置地址: Configuration 每个kafk ...
- 差别不在英语水平,而在汉语水平If you do not leave me, we will die together.
为什么高考语文要提高到180分,英语降到100,差别不在英语水平,而在汉语水平.看下面例句的译法: If you do not leave me, we will die together. 你如果不 ...
- [Locked] Longest Substring with At Most Two Distinct Characters
Longest Substring with At Most Two Distinct Characters Given a string, find the length of the longes ...
- [Hibernate] List 映射例子
List 是 java 集合的一个工具,存储线性的数据,允许重复数据.开发者可以准确控制在 list 那个位置插入数据.本例子演示 Java 的 List 集合和 MySQL 数据库的映射应用. 使用 ...
- POJ 3280 Cheapest Palindrome(水题)
题意:给定一个完全由小写字母组成的字符串s,对每个字母比如x(或a,b,c...z),在字符串中添加或者删除它分别需要花费c1['x']和c2['x']的代价,问将给定字符串变成回文串所需要的最少代价 ...