也可以参考:https://blog.csdn.net/WeilaPls/article/details/84712521 (多种识别移动端的方式)
页面加载先判断设备,是pc还是移动,然后动态加载相应的js文件。以下有两个方法:
方法一:
function is_pc(){
var os = new Array("Android","iPhone","Windows Phone","iPod","BlackBerry","MeeGo","SymbianOS"); // 其他类型的移动操作系统类型,自行添加
var info = navigator.userAgent;
var len = os.length;
for (var i = 0; i < len; i++) {
if (info.indexOf(os[i]) > 0){
return false;
}
}
return true;
}
if(!is_pc()){
document.write('<scr'+'ipt src="'+'a.js?_bid=152'+'"></scr'+'ipt>');
document.write('<scr'+'ipt src="'+'zepto.min.js'+'"></scr'+'ipt>');
document.write('<scr'+'ipt src="'+'b.js'+'"></scr'+'ipt>');
document.write('<scr'+'ipt src="'+'c.js'+'"></scr'+'ipt>');
}else {
document.write('<scr'+'ipt src="'+'c.js'+'"></scr'+'ipt>');
document.write('<scr'+'ipt src="'+'d'+'"></scr'+'ipt>');
document.write('<scr'+'ipt src="'+'e'+'"></scr'+'ipt>');
}
//if判断这里也可以如下写法,注意转义
if(!is_pc()){
document.write('<script src="'+'a.js?_bid=152'+'"><\/script>');
document.write('<script src="'+'zepto.min.js'+'"><\/script>');
document.write('<script src="'+'b.js'+'"><\/script>');
document.write('<script src="'+'c.js'+'"><\/script>');
}else {
document.write('<script src="'+'c.js'+'"><\/script>');
document.write('<script src="'+'d.js'+'"><\/script>');
document.write('<script src="'+'e.js'+'"><\/script>');
}
方法二:
//动态加载一个js文件的方法封装
function loadScript(a, b, z) {
var c = document.createElement("script");
c.async = false;
if (z) {
c.charset = "utf-8";
}
c.type = "text/javascript", c.readyState ? c.onreadystatechange = function() {
("loaded" == c.readyState || "complete" == c.readyState) && (c.onreadystatechange = null,
b && b());
} : c.onload = function() {
b && b();
}, c.src = a, document.body.appendChild(c);
}
//纯js(不使用jquery的封装),功能同上
function loadScript(url, callback) {
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState) { //IE
script.onreadystatechange = function () {
if (script.readyState == "loaded" || script.readyState == "complete") {
script.onreadystatechange = null;
callback();
}
};
} else { //Others
script.onload = function () {
callback();
};
}
script.src = url;
document.getElementsByTagName("head")[0].appendChild(script);
}
使用:
//场景: pc下的加载 和 非pc的文件加载
if(!is_pc()){
// 加载js
loadScript("a.js", function(){
loadScript("b.jss", function(){
loadScript("c.js",
function(){typeId="m";ulogin();
loadScript("d.js", function(){uafun();});
});
});
})
}else{
loadScript("b.js", function(){
typeId="pc";ulogin();
loadScript("a.js"),
loadScript("d.js");
})
}
//方法二
loadScript("script1.js", function(){
alert("File is loaded!");
});