web-dev-qa-db-ja.com

NS_BINDING_ABORTEDHttpFoxを使用してFirefoxで表示

HttpFoxを介して見ているときに、Firefoxでサイトのサーバー呼び出し(追跡目的で使用)の一部が中止されるのを確認しています。これは、同じウィンドウに別のページをロードするリンクをクリックしているときに発生します。ポップアップで正常に動作します。表示されるエラータイプはNS_BINDING_ABORTEDです。追跡呼び出しがサーバーにヒットしているかどうかを知る必要があります。 InternetExplorerで完全に機能します。ツールに問題はありますか?その場合、Firefoxでも使用できるものを提案できますか。

15
Tanmoy

したがって、問題は、使用するツール(HttpFox)がいくつかの失敗コード(NS_BINDING_ABORTED)あなたは理解していませんか?

http://markmail.org/message/m6z77uoixf3qu7u6 役立つかもしれません。

また、簡単な説明から、実際にHttpFoxが何であるかを知らなくても、別のページがロードされているときにページを開くと、最初のページのロードがキャンセルされるのはまったく正常に聞こえます。リクエストがサーバーに送信される前にロードが中止されたという意味ではありません。これはあなたが気にかけていることのようです。

5
Nickolay

サーバーがhttpExpiresヘッダーを送信していないため、ブラウザーは、キャッシュにあるものが最新であるかどうかを確認しています。

これを行う方法は、キャッシュにあるものの日付を示す要求をサーバーに送信することです。サーバーは、クライアントに現在のものであることを通知する304ステータスを送信します。言い換えると、サーバーはコンテンツ全体を再度送信するのではなく、既存のキャッシュコンテンツが最新であることを示す短いヘッダーのみを送信します。

おそらく修正する必要があるものは、提供しているものにExpiresヘッダーを追加することです。次に、NS_BINDING_ABORTEDメッセージが(cashe)に変更されます。これは、ブラウザがまだ有効期限が切れていないことを認識して、コンテンツをキャッシュから取得していることを意味します。

さらに、FireFoxの強制更新を行うと、現金の内容を再確認することを前提としているため、一時的にExpiresが無視されることを付け加えておきます。

4
Elliptical view

同様の問題が発生しましたが、原因を特定しました。

テーブル行の最初のセルにリンクがあり、そのリンクを行の他のTDに複製するJavascriptがあります。 (最初のセルにある)「実際の」リンクをクリックすると、この望ましくない副作用が発生します。行の他のセルをクリックすると、すべて問題ありません。スクリプトが最初のセルに2番目のリンクを追加しているのに、それがすでにあるからだと思います。

したがって、同じページに対する2つの瞬間的な要求で、最初の要求は2番目の要求によって中止されます。

この手法はかなり一般的であるため、注意が必要です。

1
Mike

NS_BINDING_ABORTEDエラー-ベストアプローチ-ページの読み込みに基づいて最小「0」から最大「100」ミリ秒の時間遅延を持つJavaScriptの「setInterval」メソッドを使用すると、デフォルトのページ送信リクエストが処理された後にトラックリンクリクエストを実行できます。

世界最高のソリューション:

var el = document.getElementById("t");
el.addEventListener("click", avoidNSError, false); //Firefox

function avoidNSError(){
  ElementInterval = setInterval(function () {
 /* Tracking or other request code goes here */
  clearInterval(ElementInterval);
 },0);

};
1
Karuppaiah

このページには他にどのようなJavaScriptがありますか?一部のJavaScriptが起動して、リクエストが中止される可能性があります。

私のアプリケーションでも同じことに気づきました。私はjavascript(window.location = '/ some/page.html')でページをリダイレクトしていましたが、コードのブロックのさらに下で、 'window.reload()'を呼び出していました。 window.reloadが呼び出されたため、以前のリダイレクトは中止されました。

使用しているトラッキングがわかりませんが、リクエストがサーバーに送信されている可能性がありますが、後で別のリクエストが発行されたため、リクエストは中止されます。

1
Jonathan

ページが呼び出そうとしているいくつかのリソース(フォント)が欠落しているときに、同様の問題が発生しました。 Firefoxでのみ問題が発生する場合、FirefoxはIEとは少し異なるリソースを取得しようとしていますか?

0
Chris Halcrow