我的代码中有一种情况,我检查我的网页是否正在由移动浏览器或桌面浏览器查看,并基于此我想加载包含事件的javascript文件。我有以下代码
if( navigator.userAgent.match(/Android/i)
|| navigator.userAgent.match(/webOS/i)
|| navigator.userAgent.match(/iPhone/i)
|| navigator.userAgent.match(/iPad/i)
|| navigator.userAgent.match(/iPod/i)
|| navigator.userAgent.match(/BlackBerry/i)
|| navigator.userAgent.match(/Windows Phone/i)
){
addJavascript('js/mobileEvents.js','body');
}
else{
addJavascript('js/mouseEvents.js','body');
}
我的addJavascript函数如下
function addJavascript(jsname,pos)
{
var oHead = document.getElementsByTagName(pos).item(0);
var oScript= document.createElement("script");
oScript.type = "text/javascript";
oScript.src=jsname;
oHead.appendChild(oScript);
}
但是脚本不会加载。请帮我。
最佳答案
在普通的JS中:
function addJavascript(url){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
var scriptNode = document.getElementsByTagName('script')[0];
scriptNode.parentElement.insertBefore(script, scriptNode);
}
如果页面中有jQuery,请使用:
$.getScript(url);
这是一个jsFiddle演示,它将基于浏览器加载不同的jQuery-UI lib版本:http://jsfiddle.net/8fC6w/
关于javascript - 动态添加JavaScript,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20326668/