2012-05-11 8 views
-3

可能性の重複:
How to dynamically insert a <script> tag via jQuery after page load?headタグにスクリプトを追加する

私はこのコード

var scri = "<script type=\"text/javascript\">var _gaq = _gaq || []; _gaq.push(['setAccount','UA-22xxxxx3-15']); _gax.push(['_trackPageview']); <\/script>"; 
document.getElementsByTagName("script")[23].add(scri); 
console.log(scri); 

は私がの頭にその要素を追加したい持っていますドキュメントと私は.append().text().add()と他の多くのメソッドを試しましたが、私はいつもエラーを取得します。最後のものは

Uncaught TypeError: Object #<HTMLScriptElement> has no method 'add' 

どのように私は頭の要素にこれを追加できますか?

+0

あなたはjQueryライブラリをリンクしている:ちょうどちょうどこのようなあなたのコードを実行し、あなたのJSコードは、それを実行したいポイントでいくつかのインラインコードを実行する

? – Chase

+0

http://stackoverflow.com/questions/3857874/how-to-dynamically-insert-a-script-tag-via-jquery-after-page-load – PeeHaa

答えて

3

あなたはdocument.createElement.appendChild()を使用する必要があります。

var script = document.createElement("script"); 
script.innerHTML = "alert(\"This is the truth.\");"; 
document.head.appendChild(script); 
+0

ご協力いただきありがとうございます。 – Leon

+0

インラインコードをHEADタグに挿入するのはなぜですか?私はこれがOPが尋ねたものだと知っていますが、このようにする理由はありません。頭のタグに挿入するのではなく、目的のコードを実行するだけかもしれません。 – jfriend00

+0

@ jfriend00もっと良い方法があるかもしれませんが、後で何度も呼び出す必要がある関数をDOMに追加すると、はるかに簡単になると思います。また、 'document.head'は' document.getElementsByTagName'head 'よりもはるかに速く処理されることに注意したいと思います。)[0] 'は、パフォーマンスに関してはIEでもサポートされています。 [自分でテストする](http://jsperf.com/document-head) –

0

は、なぜあなたはHEADタグにインラインスクリプトを追加していますか?それをする必要はありません。 HEADタグへの追加は、URLを使用してリモートスクリプトファイルをロードする場合に便利ですが、必要ない場合や便利な場合に便利です。

var _gaq = _gaq || []; 
_gaq.push(['setAccount','UA-22xxxxx3-15']); 
_gaq.push(['_trackPageview']); 
関連する問題