您的位置:首页 > Web前端 > JavaScript

javascript/js 原生动态插入外部js文件及动态插入js代码片段,兼容ie

2015-11-16 11:46 816 查看
动态创建js脚本有两种方式:

1.插入外部js文件

2.插入js代码片段

动态插入js外部文件的方法:

function loadScript(url){
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
document.body.appendChild(script);
}
loadScript('test.js');


动态加载js代码片段

function loadJsCode(code){
var script = document.createElement('script');
script.type = 'text/javascript';
//for Chrome Firefox Opera Safari
script.appendChild(document.createTextNode(code));
//for IE
//script.text = code;
document.body.appendChild(script);
}
loadJsCode('alert(2)');


IE中<script>标签被视为一个特殊标签,不能访问其子元素,所以要使用script.text方法,同时为了兼容Safari早起版本,兼容代码如下:

function loadJsCode(code){
var script = document.createElement('script');
script.type = 'text/javascript';
try{
//for Chrome Firefox Opera Safari
script.appendChild(document.createTextNode(code));
}catch(ex){
//for IE
script.text = code;
}
document.body.appendChild(script);
}
loadJsCode('alert(3)');


以这种方式加载的js片段会在全局环境中执行,实际上这种方式与将字符串传给eval()执行时一样的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript 脚本 ie