最近写项目时发现通过meta标签已无法禁止移动端双指缩放,一般的js写法也无法阻止,最终解决方案如下: 重点:passive
1 2 3 4 5 6 |
//禁止双指放大 document.documentElement.addEventListener('touchstart', function (event) { if (event.touches.length > 1) { event.preventDefault(); } }, {passive:false}); |
如果需要该事件,页面写入以下代码即可:
1 2 3 4 5 |
document.documentElement.addEventListener('touchstart', function (e) { e.returnValue = true; }, false); |
from:https://www.cnblogs.com/zeosky-zhe/p/13599945.html
View Details在ios10前我们能通过设置meta来禁止用户缩放页面:
1 |
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" /> |
监听事件进行判断
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
window.onload = function() { // 阻止双击放大 var lastTouchEnd = 0; document.addEventListener('touchstart', function(event) { if (event.touches.length > 1) { event.preventDefault(); } }); document.addEventListener('touchend', function(event) { var now = (new Date()).getTime(); if (now - lastTouchEnd <= 300) { event.preventDefault(); } lastTouchEnd = now; }, false); // 阻止双指放大 document.addEventListener('gesturestart', function(event) { event.preventDefault(); }); } |
from:https://www.jianshu.com/p/923e63cb3390
View Details
1 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=device-dpi" /> |
P.S 这个方法在ios10以后无效 属性解释: 1.width width设置viewport的宽度,即iphone最初模拟PC浏览器的宽度,之后iphone会这个宽度展现的页面同比缩放到iphone屏幕上。设置width=device-width后就不会再进行缩放了,因为宽度正好和iphone的宽度相同(前提是没有设置缩放比例)。 2.minimum-scale和maximum-scale 控制用户允许设置的缩放比例的。 3.user-scalable 标识是否允许对页面进行缩放,取值有两个yes和no。设置为no则不允许进行页面缩放了。 4.initial-scale 设置用户最初看到页面时的缩放比例。 5.target-densitydpi Android 浏览器所需要的,因为 Android 硬件设备标准不一, 其中同样物理尺寸的屏幕,可能因为 dpi 的不同而具有不同的分辨率, Android 浏览器默认会缩放页面以便最好地呈现, 可惜和 Java 的垃圾回收一样,它很难做到"最好"。所以最好还是人工指定吧。 target-densitydpi 可以设定的值 device-dpi – 设备本身的像素 high-dpi -用高像素,中低像素屏幕适当缩小。 medium- 中等像素,高的屏幕放大,低的变小是默认值 low-dpi – 低像素,中高像素会适当变大。 from:http://t.zoukankan.com/bugs-p-3139811.html
View Details直接贴代码了: js调用
1 |
window.location.href = "tel:要拨打的电话号码"; |
a标签调用
1 2 3 4 5 |
<meta name="format-detection" content="telephone=yes"/> <a href="tel:要拨打的电话号码">点击打电话噢~</a> <a href="sms:要发短信的电话号码">发短信</a> |
from:https://blog.csdn.net/qq_42817227/article/details/102569519
View Details
1 2 |
head 里面加上: <meta name="format-detection" content="telephone=yes"/> |
1 2 |
需要拨打电话的地方: <a href="tel:400-0000-677">400-0000-688</a> |
1 2 |
发短信: <a href="sms:155********">发短信</a> |
点击页面上的电话号码 ,页面会调用手机的电话接口。 from:https://blog.csdn.net/baidu_39043816/article/details/108318327
View Details