无法在document.body.appendChild中附加javascript

时间:2012-07-26 10:01:56

标签: javascript chromium

我正在尝试通过以下方式将javascript附加到已加载的页面:

var sc = document.createElement('script');
sc.content = "<script>alert('aa')</script>";
document.body.appendChild (sc);

但这在铬中无效:

enter image description here

2 个答案:

答案 0 :(得分:3)

您没有将<script>...</script>放在script元素的内容中。但更重要的是,我认为他们没有content属性(例如,我don't see one here)。

如果我没记错的话,在运行时将内容置于script元素内的最可靠方法是createTextNodeappendChild,例如:Live example | source

var sc = document.createElement('script');
sc.appendChild(document.createTextNode("alert('aa')"));
document.body.appendChild(sc);

...但我发现有些旧浏览器要求您设置innerText或其他内容,我不会感到惊讶。

答案 1 :(得分:0)

var script = document.createElement('script');
script.appendChild(document.createTextNode("alert('http://jsfiddle.net/UpWhX/')"));
document.body.appendChild(script);

试试这个TestHere http://jsfiddle.net/UpWhX/2/