未向移动客户端加载/发送javascript。-HTML
Javascript文件的大小往往更大,即使在压缩时也是如此。由于javascript,我有一个在桌面上看起来很棒的网站,我不担心它的大小。但是在移动设备上,即使是额外的50KB也是非常大的,所以我做了一些css更改,使移动设备看起来很棒,但是现在所有的javascript文件也被发送(到移动设备上),尽管不再需要它们了未向移动客户端加载/发送javascript。-HTML,javascript,jquery,html,Javascript,Jquery,Html,Javascript文件的大小往往更大,即使在压缩时也是如此。由于javascript,我有一个在桌面上看起来很棒的网站,我不担心它的大小。但是在移动设备上,即使是额外的50KB也是非常大的,所以我做了一些css更改,使移动设备看起来很棒,但是现在所有的javascript文件也被发送(到移动设备上),尽管不再需要它们了 如果客户端是一个有移动ID的客户端,我有没有办法禁用所有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应该可以。