簡體   English   中英

如何在移動設備上禁用腳本

[英]How to disable a script when on mobile device

我有一個具有視差滾動效果的網站,它正在運行skrollr.js腳本。 這是一個移動的第一個網站,但我希望腳本不能在移動設備上運行,因為它不允許滾動。 有誰知道如何阻止腳本在移動設備上運行? 謝謝。

上載腳本的代碼位於正文部分的末尾。 如果需要任何其他代碼,請告訴我。

<!-- SCRIPTS -->

<script type="text/javascript" src="js/skrollr.js"></script>
<script type="text/javascript">
    skrollr.init();
</script>

<!--/ SCRIPTS -->

您可以使用modernizr的觸摸檢測來檢查它是否是觸摸設備,如果是,則不要初始化腳本。

if (Modernizr.touch) {

}
else 
{
    skrollr.init();
}

或者您可以檢查用戶代理(這可能不是您的最佳選擇,因為用戶代理並不總是可靠的),並在else中使用skrollr init編寫一個簡單的if else

  var isMobile = {
            Android: function () {
                return navigator.userAgent.match(/Android/i);
            },
            BlackBerry: function () {
                return navigator.userAgent.match(/BlackBerry/i);
            },
            iOS: function () {
                return navigator.userAgent.match(/iPhone|iPad|iPod/i);
            },
            Opera: function () {
                return navigator.userAgent.match(/Opera Mini/i);
            },
            Windows: function () {
                return navigator.userAgent.match(/IEMobile/i);
            },
            any: function () {
                return (isMobile.Android() || isMobile.BlackBerry() || isMobile.iOS() || isMobile.Opera() || isMobile.Windows());
            }
        };

        if (isMobile.any()) {

        }
        else {

             skrollr.init(); 
        }

另一種測試方法是檢查window.innerWidth ,如果屏幕大小大於760px,則只啟動腳本:

if (window.innerWidth > 760) {
skrollr.init();
}

假設你正在編寫一個函數名稱exampleNotForMobileDevicese()如果窗口寬度小於768那么下一個代碼將不會執行因為我們使用了返回,即如果條件滿足則執行將停止

 function exampleNotForMobileDevicese(){ if(window.innerwidth < 768){ return } your business logics....... } 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM