私は JavaScript ウィジェットを作成しています。これは、他の Web サイトで使用することを目的としており、自分の Web サイトから追加のスクリプト ファイルをロードします (クロスドメインの制限により、基本的に XHR がないことを意味します)。ここで、障害を適切に処理したいと考えています。1 つのスクリプトの読み込みに失敗した場合は、別のサーバーからスクリプトを読み込みたいと考えています。
最初のサーバーがエラーを返すサーバー障害を処理することができましたが、タイムアウトも処理したいと考えています。最初のサーバーが応答するのに時間がかかりすぎる場合は、負荷を中止して別のサーバーに切り替えたいと考えています。
私が抱えている問題は、タイムアウトを設定して代替サーバーに切り替えるメソッドをトリガーできることですが、元の要求でブラウザー自体がタイムアウトするまで、代替サーバーからのスクリプトが正常に読み込まれません。私のニーズを待ち望んでいます。
最初の <script> タグのロード中に、ロードを中止し、代替サーバーを指す 2 番目の <script> タグを追加できるようにしたいと考えています。
元のスクリプトの src 属性を null に設定し、removeNode() を使用して HEAD 要素からタグを削除しようとしましたが、効果はありませんでした。
これはすべて Firefox で試しました。IE はまだ試していませんが、解決策は両方で動作する必要があります。提案があればぜひ聞きたいです。