Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
未向移动客户端加载/发送javascript。-HTML_Javascript_Jquery_Html - Fatal编程技术网

未向移动客户端加载/发送javascript。-HTML

未向移动客户端加载/发送javascript。-HTML,javascript,jquery,html,Javascript,Jquery,Html,Javascript文件的大小往往更大,即使在压缩时也是如此。由于javascript,我有一个在桌面上看起来很棒的网站,我不担心它的大小。但是在移动设备上,即使是额外的50KB也是非常大的,所以我做了一些css更改,使移动设备看起来很棒,但是现在所有的javascript文件也被发送(到移动设备上),尽管不再需要它们了 如果客户端是一个有移动ID的客户端,我有没有办法禁用所有javascript文件的发送 有很多方法可以实现这一点,比如通过服务器端库,甚至是简单的用户代理检查,并使用网关方法加

Javascript文件的大小往往更大,即使在压缩时也是如此。由于javascript,我有一个在桌面上看起来很棒的网站,我不担心它的大小。但是在移动设备上,即使是额外的50KB也是非常大的,所以我做了一些css更改,使移动设备看起来很棒,但是现在所有的javascript文件也被发送(到移动设备上),尽管不再需要它们了


如果客户端是一个有移动ID的客户端,我有没有办法禁用所有javascript文件的发送

有很多方法可以实现这一点,比如通过服务器端库,甚至是简单的用户代理检查,并使用网关方法加载脚本

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);

为什么不为桌面用户修改CSS,这样你就根本不需要JavaScript了?因为与桌面版本相比,移动站点看起来非常简单。这使得css变得简单,而桌面版是完全成熟的,并且真正需要javascript。您是针对特定设备(IOS/Andriod)还是针对每个移动浏览器?一般来说是移动的,但IOS/Android应该可以。