1

スクリプトを使用して、ライブラリ (大きなファイル) からスクリプトをロードしています。次のように機能します。

  1. xmlhttprequest 経由でスクリプトをロードする
  2. 内部にスクリプトを含む新しいスクリプト タグ要素を作成します (新しいテキスト ノード、innerText または innerHTML)
  3. ヘッドに新しい要素を追加します

非常に複雑なことは何もありません。しかし、IE8 ではうまくいきませんでした。どのような方法でもスクリプト要素タグにスクリプトを挿入することはできません! だから私は別のアプローチを試みます:

<script type="text/javascript" language="javascript">
function teste(){
    var elemScript = document.createElement('script');
    elemScript.type = 'text/javascript';
    elemScript.language = 'javascript';
    elemScript.src = 'http://somewhere/somecode.js';
    var headTag = document.getElementsByTagName('head')[0];
    headTag.appendChild(elemScript);
}
window.onload = teste;
</script>

IE8は何も言わないだけです。ロードされているかどうかはわかりませんが、コードが実行されていないことは確かです (テストのためのアラート)。jQuery やその他のライブラリがこれを行い、すべてのブラウザーで動作させることができることを知っています (IE8+ は私には問題ありません)。彼らはこの魔法をどのように行うのですか?純粋な JavaScript でこれを解決する簡単な方法はありますか?

4

1 に答える 1

-1

ajax は onload イベントを発生させません。

window.onload = teste;

したがって、メソッドを呼び出すように変更するだけです。

teste();
于 2012-08-07T18:07:28.537 に答える