ios 雙擊頁面縮放 禁止

來源:互聯網
上載者:User

標籤:內建   元素   最好   ons   阻止事件冒泡   生效   縮放   ack   art   

行動裝置升級到iOS10了,發現了內建的Safari瀏覽器不再識別meta viewport了。以前我們都是用這個標籤來讓瀏覽器禁用縮放的。萬惡的Apple~~

在iOS10之前都是通過

<meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no">

來強制不讓手機瀏覽器縮放的,但是升級到iOS10後Safari不再識別這個meta標籤。所以得用js來hack一下:
禁用雙指縮放:

document.documentElement.addEventListener(‘touchstart‘, function (event) {
  if (event.touches.length > 1) {
    event.preventDefault();
  }
}, false);

禁用手指雙擊縮放:

var lastTouchEnd = 0;
document.documentElement.addEventListener(‘touchend‘, function (event) {
  var now = Date.now();
  if (now - lastTouchEnd <= 300) {
    event.preventDefault();
  }
  lastTouchEnd = now;
}, false);

如果在iOS10的Safari中設定了viewport,其實雙擊放大也是不生效的,所以個人覺得在iOS10上比較好的解決方案是先設定viewport,然後再用js禁用雙指縮放即可,無需再設定禁用雙擊縮放。

同時給出這個解決方案的作者還提出了一個有情提示,如果任何一個子項目的touch事件設定了stopPropagation阻止事件冒泡的話,可能還是會失效,而且在iOS10中你的輸入框字型最好不要小於16px,否則iOS在輸入框獲得焦點時可能還是會強制放大。

原文地址:http://stackoverflow.com/questions/37808180/disable-viewport-zooming-ios-10-safari

ios 雙擊頁面縮放 禁止

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.