0

Javascript 文件的大小往往偏大,即使在压缩时也是如此。多亏了javascript,我有一个在桌面上看起来很棒的网站,而且我不担心那里的大小。但是在移动设备上,即使是额外的 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 回答