另一个用户提出了一个函数,用于将字符串转换为dom元素,然后遍历字符串并执行js。它工作正常,只是不在IE8中,令人惊讶。Internet Explorer 8和getElementsByTagName('脚本')不起作用
function get_script_src_from_string (INPUT_STRING) {
var tempDiv = document.createElement('div');
tempDiv.innerHTML = INPUT_STRING;
var scripts = tempDiv.getElementsByTagName('script');
var script_urls = [];
for (var i=0; i<scripts.length; i++) {
script_urls.push(scripts[i].src);
}
return script_urls;
}
我只是传递一个测试字符串:
get_script_src_from_string('<div class="tester" id="tester"><script id="tester2" type="text/javascript">alert("test");</script></div>');
如果我做
var test = tempDiv.getElementsByTagName('*');
alert(test.length);
测试所有的浏览器返回2,IE8返回1,所以它是不承认脚本作为标签。不幸的是,为这个项目使用jquery不是一种选择。
只是修剪X后。 – user1572796 2014-09-30 23:39:15
这适用于我。谢谢! IE8走7路和6路时我们都会变得更好...... – 2015-02-05 01:28:47