2012-08-22 40 views
0

只是一個關於正確語法的問題。我只想在瀏覽器屏幕是< 1100px的情況下才加載jquery文件。根據瀏覽器大小加載文件

<script type="text/javascript"> 
$(document).ready(function() { 
    if ($(window).width() < 1100) { 

    //load file 

    } 
    }); 
</script> 

我想加載SRC =「http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js卻找不到語法。

感謝

+1

您根據條件載入的jQuery你計算*使用* jQuery? – David

+0

是的:)我有另一個版本的jquery加載。但這只是1.5.1版本的一個問題,與其他版本相沖突。基本上一些代碼(我用在較小的屏幕版本中)不起作用,而這個版本的jquery被加載。 –

回答

1
$(document).ready(function() { 
    if ($(window).width() < 1100) { 
     var newscript = document.createElement('script'); 
      newscript.type = 'text/javascript'; 
      newscript.async = true; 
      newscript.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'; 
     (document.getElementsByTagName('head')[0] 
     || document.getElementsByTagName('body')[0]).appendChild(newscript); 
    } 
}); 
+0

重新閱讀你的問題後,你將需要使用標準的JS ... – xandercoded

+0

找到'window'的寬度,它是這樣工作的。謝謝! –

2

我假設你沒有jQuery的,當你試圖獲取窗口寬度,所以是這樣的:

<script> 
    var width = window.innerWidth || document.documentElement.clientWidth; 
    if (width < 1100) { 
     var s = document.createElement('script'), 
      p = document.getElementsByTagName('script')[0]; 
     s.async = true; 
     s.src = 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js'; 
     p.parentNode.insertBefore(s, p); 
    } 
</script> 

如果您有jQuery的,它SA位簡單的語法:

<script> 
if ($(window).width() < 1100) { 
    $('<scr'+'ipt>').attr({ 
     src: 'http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js', 
     async: true 
    }).insertBefore($('script:first')); 
} 
</script> 

我不認爲你會「卸載」通過加載另一個較低版本的版本的jQuery的,但是這是你的電話:)

相關問題