javascript 动态解析脚本
一般而言,如果脚本很长,我们把它们放到一个JS文件中,然后生成一个script元素并把它加入dom树,把src设置为JS文件的地址即可。但对于很自短的脚本,如果我们又不想用new Function与eval呢?这里还有一办法,利用script元素的一个少为人知的属性text,非标准属性,但所有主流浏览器都支持。有点像innerhtml,但innerHTML只能把字符串变成各种节点,但不能解析脚本。看下面的例子:
var script = document.createElement('script');
script.type = 'text/javascript';
script.text = "alert('这是动态添加的!')";
document.body.appendChild(script);兼容性
| text | innerHTML | textContent | cteateTextNode | |
|---|---|---|---|---|
| IE6 | ● | × | × | × |
| IE8 | ● | × | × | × |
| FF3.6 | ● | ● | ● | ● |
| chrome5 | ● | ● | ● | ● |
| safari4 | ● | ● | ● | ● |
| opera10.10 | ● | × | ● | ● |
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!