禁止微信內的H5頁面上下拖動


客戶需求:禁止微信內的H5頁面上下拖動;

解決方案:

網上的答案幾乎都是阻止默認事件,即:

1 document.body.addEventListener('touchmove' , function(e){
2             e.preventDefault();
3         });

但是使用這個方法還存在一定的問題:

bug1:有時生效有時失效;

原因:經過不間斷的實踐測試,發現有可能是網絡加載的問題,在用戶拖動頁面的時候上面的功能代碼還沒加載出來,所以沒有生效。

解決方法:監聽頁面資源加載,等頁面內所有資源加載完畢后再將頁面顯示出來。代碼如下:

1 document.onreadystatechange = function () {
2         if (document.readyState == "complete") {
3             document.body.style.display = "block";
4         } else {
5             document.body.style.display = "none";
6         };
7     };

bug2:華為P6、P9,魅族等手機上無效;

原因:有可能是安卓版本較低,存在兼容問題;(測試機有限,目前測的是安卓4.4上無效)

解決方法:暫未找到合適的解決方案,如有大神解決此類問題,歡迎留言指導~

謝謝~


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM