0

Javascript ファイルは、圧縮してもサイズが大きくなる傾向があります。JavaScript のおかげでデスクトップ上で見栄えのする Web サイトを持っていますが、サイズは気にしていません。しかし、モバイルでは余分な 50 KB も大きいので、モバイルの見栄えを良くするためにいくつかの css 変更を行いましたが、必要がないにもかかわらず、すべての JavaScript ファイルも (モバイルに) 送信されています。それらはもう。

クライアントがモバイル ID を持っている場合、JavaScript ファイルのすべての送信を無効にする方法はありますか?

4

1 に答える 1

2

これには、 WURFLなどのサーバー側ライブラリを介して、または単純なユーザー エージェント チェックを介して、ゲートウェイ メソッドを使用してスクリプトをロードするなど、さまざまな方法があります。

var is_mobile = navigator.userAgent.match(/android|iphone/ig);

var require = function(src, success, failure, force_load){
    if( is_mobile && !!force_load ){ return; }

    var script = document.createElement('script');
    script.async = true; script.type = 'text/javascript'; script.src = src;
    script.onload = success || function(e){};
    script.onerror = failure || function(e){};
    (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
}

// loaded just for desktop
require('js/desktop-script.js', function(){ // onload
    // desktop only script
}, function(){ // onerror
    console.log("Something went wrong loading this script");
});

// loaded for desktop and mobile
require('js/jquery.js', function(){ // onload
    // desktop and mobile script
}, function(){ // onerror
    console.log("Something went wrong loading this script");
}, true);
于 2013-03-11T05:19:30.003 に答える