ユーザーがページのそのタブに移動したときにのみ、Web ページの一部にのみ必要な JS ファイルをロードしています。
var scriptFile = document.createElement("script");
scriptFile.setAttribute("type", "text/javascript");
scriptFile.setAttribute("src", scriptURL);
JS の読み込みがタイムアウトした場合、または URL で指定された場所で JS が利用できない場合にエラー メッセージを表示できるように、この動的読み込みのエラー処理メカニズムを考え出そうとしています。
これは、エラー処理を実装しようとしている方法です(IE用):
scriptFile.onreadystatechange = function() { // For IE
if (this.readyState == 'complete' || this.readyState == 'loaded') {
// Display content in tab
} else {
// Display error message
}
}
これが 1 つの問題を引き起こしています。すべて問題なく、JS が期待どおりに存在する場合、最初にエラー メッセージが表示され、次に正しいコンテンツが表示されます。
ブレーンストーミングを行った後、readyState が「未初期化」から「読み込み中」に変わり、次に「読み込み済み」に変わることがわかりました。エラーメッセージが表示されているのは、状態が「読み込み中」のときです。その後、状態が「ロード済み」に変化し、その時点でコンテンツが表示されます。
エラーが最初に表示されないようにこれを処理する方法はありますか?