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をロードしたいのですが、構文が見つかりません。

ありがとう!

4

2 に答える 2

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を使用している場合は、構文が少し単純になります。

<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のバージョンを「アンロード」することはないと思いますが、それがあなたの呼び出しです:)

于 2012-08-22T18:36:49.147 に答える
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);
    }
});
于 2012-08-22T18:25:38.910 に答える