Ruby's Louvre

每天学习一点点算法

导航

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 ×

posted on 2009-10-31 13:46  司徒正美  阅读(3732)  评论(3编辑  收藏  举报