![](/img/trans.png)
[英]How can I disable or hide a script from running on my site if being viewed on a mobile device?
[英]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.