2013-01-02 2 views
5

私は私のページに注入したいいくつかの動的に作成されたJavascriptを返すajax呼び出しを持っています。次のコードは、IEにChromeで動作しますが、ありません:IEで私のページにjavascriptを注入しようとしています

var node = document.getElementsByTagName("head")[0] || document.body; 
    if (node) 
    { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    //script.innerHTML = json.javascript; 
    var textnode = document.createTextNode(json.javascript); 
    script.appendChild(textnode); 
    node.appendChild(script); 
    } 

、私は「SCRIPT65535。:メソッドやプロパティへのアクセスに予期しないコール」を得ますコメントされたコードからわかるように、textnodeを試す前に、script.innerHTMLを挿入するだけでした。それはまたクロムで働いていましたが、IEでは "SCRIPT600:不明なランタイムエラー"がありました。

IEのDOMにいくつかのjavascriptを貼り付ける方法はありますか?

+0

あなたはおそらく、jqueryのを使用したほうが良いです見つけます。 – scartag

+0

jQueryでこれを行う方法が分かっている場合は、教えてください。 $(node).htmlはscript.innerHTMLより優れていません。 –

+0

おそらく、これは役立ちます:http://stackoverflow.com/questions/8610574/inserting-and-executing-conditional-javascript – regulatethis

答えて

6

そしてもちろん、できるだけ早く私はこれを投稿して、私はあなたがIEで異なる実装され、特定の機能を心配する必要はありませんので、http://www.phpied.com/dynamic-script-and-style-elements-in-ie/

var node = document.getElementsByTagName("head")[0] || document.body; 
    if (node) 
    { 
    var script = document.createElement("script"); 
    script.type = "text/javascript"; 
    script.text = json.javascript; 
    node.appendChild(script); 
    } 
関連する問題