私はこれを簡素化することができるコードの断片があります:あなたが期待するよう、これが実行される、IE以外のすべてのブラウザで外部のJavaScriptから関数を呼び出すとIEが失敗しますか?
var s='' ;
s += "<"+"script type=\"text/javascript\" src=\"http://somehost.com/scripts/FooFunctions.js\">\n";
s += "<"+"/script>" ;
s += "<"+"script type=\"text/javascript\">\n";
s += "FooFunction(42, 'i love cats');\n";
s += "<"+"/script>" ;
document.write(s) ;
を - somehost.com/scripts/FooFunctions.js作業から機能を予想通り。
Internet Explorerでは、これは失敗します。
これを検索するのは難しいようです。私は、同じ問題で時折ポストを見つけましたが、解決策はありません。
(外部ファイルではJavaScriptからこの方法を含める必要がある、とpgaeがそれに挿入さ<script src="http://somehost.com/scripts/FooFunctions.js">
を持つことができないということを正当な理由があります。)
明確にし、質問は:どのように私は上記のコードの機能をInternet Explorerで同じように機能させることができますか? FireFox?
DOM注入によるスクリプトのインクルード(ここで行っていること)がスクリプトのダウンロードを並列化しないため、おそらくうまくいきます。これらは直列にロードされます。したがって、あなたがalert()に到達したときに利用可能であることが保証されています。 –
私は実際にこの方法を試しましたが、問題を解決するようには見えませんでしたが、もう一度試してみます。 – mozboz