0

次の方法で、ロードされたページにJavaScriptを追加しようとしています:

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

しかし、それはクロムでは機能しませんでした:

ここに画像の説明を入力

4

2 に答える 2

3

要素のコンテンツ<script>...</script>中には入れません。しかし、もっと重要なことは、彼らがプロパティを持っているとは思わない(たとえば、ここにはプロパティがない)。scriptcontent

正しく思い出せば、script実行時に要素内にコンテンツを配置する最も信頼できる方法は、を介しcreateTextNodeappendChild、たとえば次のようになります。ソース

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

...しかし、古いブラウザの中には、代わりに設定する必要があるものがあることを知っても驚くことではありませんinnerText

于 2012-07-26T10:06:18.953 に答える
0
var script = document.createElement('script');
script.appendChild(document.createTextNode("alert('http://jsfiddle.net/UpWhX/')"));
document.body.appendChild(script);

このテストを試すこちら http://jsfiddle.net/UpWhX/2/

于 2012-07-26T10:34:21.317 に答える