2015-04-17 102 views
0

在這篇文章中What is the best way to detect a mobile device in jQuery?我發現這個代碼:阻止JavaScript激活的移動設備

function detectmob() { 
 
    if(window.innerWidth <= 800 && window.innerHeight <= 600) { 
 
    return true; 
 
    } else { 
 
    return false; 
 
    } 
 
}

我有一個通過谷歌測試「移動友好」與任何彈出窗口網站爲我的通訊/電子課程。

我嘗試了上面的腳本,它會運行scitps,但是做彈出框的形式過大的尺寸。

我想阻止腳本從顯示保持彈出,我試着調整塊,但是當我這樣做,它變得無法讀取與屏幕尺寸小於400個像素小的設備。

任何幫助將不勝感激。

CSS:

#mobile-only{ 
    display:none; 
} 

HTML:

<div id="mobile-only"> 
 
<script async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"></script> 
 

 

 
</div>

的Java腳本是將後10秒延遲顯示一個形式中,該形式是800x800像素,這是對於大多數移動設備而言非常大,讀者不能將表單向右滾動以觸摸'x'來關閉表單。

測試CSS和腳本仍然運行HTML後。

+0

在您發佈的腳本中,不應該彈出任何內容。你可以發佈一些CSS和HTML?我不確定應該「彈出」什麼。 –

+0

@ A.Sharma我已經添加了代碼,我試圖去工作,但是在示例代碼中存在拼寫錯誤:ffunction應該是函數。 – Monte

回答

0

請參閱下面的代碼和嘗試。

$(document).ready(function(){ 
var x = $(window).width(); 
if(x >= 400) 
{ 
$('#mobile-only').append('<script async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"></script>'); 
}; 
}); 

事情要考慮

現在,如果你要擔心做什麼,如果用戶調整自己的桌面上的窗口,您可以使用下列項目的幫助處理這些事件:

我希望這有助於!

+0

我嘗試了更正後的代碼,但它不會阻止srcipt在移動設備上運行,對於桌面設備來說工作正常。 – Monte

+0

使用媒體查詢查看我的新更新答案。看看是否有效。如果沒有,你能寄給我一個描述你真正想在這裏做什麼的例子的html或css嗎? –

+0

A.Sharma這是在任何div類的旁邊,但移動div是這樣的:div class =「mobile-only」style =「width:300px」 – Monte

0

由A.Sharma使用上面的代碼,我修改了它這樣的:

<script> 
 
$(document).ready(function(){ 
 
var x = $(window).width(); 
 
if(x >= 400) 
 
{ 
 
$('#desktop-only').append('async type="text/javascript" src="http://forms.aweber.com/form/19/37402019.js"'); 
 
} 
 
)}; 
 
    </script>

在哪裏「#桌面只有」爲任何桌面內容的CSS容器,要麼不會適合移動設備(桌子,大型高分辨率圖像等),或將填滿屏幕,超過設備的可接受限制。

此代碼不能運行,但它看起來像從運行阻止JavaScript的最好方法。

任何修改使它運行的建議?

謝謝!

+0

A.Sharma - 我厭倦了你提供的代碼成功,上面是一個修改,它也不會運行。你會看看語法,看看你能看到我出錯的地方嗎?謝謝... – Monte