3

API 呼び出しの戻り値に基づいて Javascript を動的にロードしようとしています。script タグを動的に挿入しましたが、実行されません。誰かが理由を理解するのを助けることができますか? 関連するコード スニペットを以下に貼り付けます

onError: function(code) {
      if(code == "false") {
        var headID = document.getElementsByTagName("head")[0];
        var scriptTag = document.createElement("script");
        scriptTag.type="text/javascript";
        scriptTag.src= 'scriptURL';
        headID.appendChild(scriptTag);
      }
}

firebug/chrome インスペクターを使用すると、script タグが dom に追加されているのに、スクリプトが実行されていないことがわかります (少なくとも、私が判断できるわけではありません)。これはサードパーティのスクリプトであるため、直接制御することはできず、変更することもできません。

4

1 に答える 1

1

質問の下のコメントを読んだ後、サードパーティのスクリプトが window.onload イベントでその仕事をしているようです。多くのプログラマーがこのスタイルを使用しています。

window.onload = function() {
    // Whatever task
};

スクリプト タグを動的に追加する前にページの onload イベントが既に発生している場合、「Whatever task」コードは決して実行されません。

サードパーティのスクリプトのソースを確認してください。window.onload を使用している場合は、window.onload(); を呼び出してみてください。script タグを動的に追加した後。

于 2012-08-09T15:46:56.867 に答える