ページがキャンセルされる原因は何ですか? Chromeデベロッパーツールのスクリーンショットがあります。
これは頻繁に起こりますが、毎回起こるわけではありません。他のリソースがキャッシュされると、ページを更新するとLeftPane.aspxがロードされます。そして、これがInternet Explorer 8ではなく、Google Chromeでのみ発生することが本当に奇妙なことです。Chromeがリクエストをキャンセルする理由は何ですか。
Chromeがフレームやインラインフレーム内のものをロードするリクエストをキャンセルしていても、断続的にしか発生しないという同様の問題が発生しました。これはコンピュータやインターネット接続の速度に依存しているようです。
この情報は時代遅れですが、私はChromiumを最初から構築し、要求を取り消すことができる場所をすべて見つけるためにソースを掘り下げ、デバッグするためにそれらすべてにブレークポイントを当てました。メモリから、Chromeがリクエストをキャンセルする唯一の場所:
私たちの場合は、ついにHTMLを別のフレームに追加しようとしている1つのフレームにたどり着きました。これは、宛先のフレームがロードされる前にも発生することがありました。 iframeの内容に触れると、それをリソースに読み込むことができなくなり(どこに配置すればわかりますか)、リクエストは取り消されます。
status = cancelledは、JavaScriptイベントに対するajaxリクエストでも発生する可能性があります。
<script>
$("#call_ajax").on("click", function(event){
$.ajax({
...
});
});
</script>
<button id="call_ajax">call</button>
イベントは要求を正常に送信しましたが、その後取り消されました(ただし、サーバーによって処理されました)。その理由は、同じクリックイベントでajaxリクエストを行っても、要素はクリックイベントでフォームを送信するためです。
リクエストがキャンセルされないようにするには、JavaScript event.preventDefault();を使用します。呼ばれる必要があります:
<script>
$("#call_ajax").on("click", function(event){
event.preventDefault();
$.ajax({
...
});
});
</script>
注意: ラッピングフォーム要素がないことを確認してください 。
Onclick = {}のボタンがフォーム要素で囲まれているという同様の問題がありました。ボタンをクリックするとフォームも送信され、それがすべて混乱していました...
この答えはおそらく誰にも読まれないでしょうが、私はなぜそれを書かないのか考えました:)
もう1つ注意が必要なのは、AdBlock拡張機能、または一般的な拡張機能です。
しかし、多くの人がAdBlockを持っています。
拡張子を除外するには、シークレットで新しいタブを開き、テストしたい拡張子に対して「シークレットを許可する」がオフになっていることを確認します。
あなたは "X-Frame-Options"ヘッダタグをチェックしたいかもしれません。 SAMEORIGINまたはDENYに設定されている場合、iFrameの挿入は spec に従ってChrome(および他のブラウザ)によってキャンセルされます。
また、一部のブラウザはALLOW-FROM設定をサポートしていますが、Chromeはサポートしていません。
これを解決するには、 "X-Frame-Options"ヘッダータグを削除する必要があります。これにより、 クリックジャッキング攻撃にさらされる可能性があります そのため、リスクとは何か、それらを軽減する方法を決定する必要があります。
私の場合は、jqueryのグローバルタイムアウト設定、jqueryのプラグイン設定のグローバルタイムアウトを500msに設定しているため、リクエストが500msを超えるとchromeがリクエストをキャンセルします。
これが私に起こったことです:サーバーは302リダイレクトのために不正な "Location"ヘッダーを返していました。もちろんChromeはこれを教えてくれなかった。私はFirefoxでページを開くと、すぐに問題を発見しました。複数のツールがあるのはうれしい:)
Iframe内の別々のドメインにある安全なページと安全でないページの間でリダイレクトするときに、キャンセルされたリクエストが私に起こりました。リダイレクトされたリクエストは「キャンセルされた」リクエストとしてdevツールに表示されました。
私のペイメントゲートウェイによってホストされているフォームを含むiframeのページがあります。 iframeのフォームが送信されると、支払いゲートウェイは私のサーバーのURLにリダイレクトします。リダイレクトは最近動作を停止し、代わりに「キャンセル」リクエストとして終了しました。
Chrome(私はWindows 7 Chrome 30.0.1599.101を使用していました)は、iframe内で別のドメインの安全でないページに移動することを許可しなくなりました。これを修正するために、iframe内のリダイレクトされた要求が常に安全なURLに送信されるようにしました。
Iframeだけで簡単なテストページを作成したときに、コンソールに警告が表示されました(以前に見逃した、または表示されなかった可能性があります)。
[Blocked] The page at https://mydomain.com/Payment/EnterDetails ran insecure content from http://mydomain.com/Payment/Success
リダイレクトは、PC、Mac、およびAndroid上のChromeでキャンセルされたリクエストになりました。それが私のウェブサイトの設定(SagePay Low Profile)に特有のものかどうか、あるいはChromeで何かが変わったかどうかはわかりません。
(canceled)
ステータスに遭遇したもう1つの場所は、特定のTLS証明書の設定ミスです。証明書にhttps://www.example.com
が含まれていないがwww.
に対して有効であるようにhttps://example.com
のようなサイトが誤って設定されている場合、chromeはこの要求をキャンセルして自動的に後者のサイトにリダイレクトします。これは ではない Firefoxの場合です。
現在有効な例: https://www.pthree.org/ /
Chromeバージョン33.0.1750.154 mは、 Mobile Emulation を使用している場合は、ローカルホストを指している場合に一貫してイメージの読み込みをキャンセルします。具体的には ユーザエージェントのなりすましon(対単なる画面設定)。
ユーザーエージェントのなりすましを無効にした場合画像リクエストはキャンセルされません、画像が見えます。
理由はまだわかりません。リクエストがキャンセルされる前者の場合、リクエストヘッダー(注意:仮ヘッダーが表示されます)は
後者の場合、それらすべてに加えて他のものが好きです:
シュラグ
私のメインのcssフォルダの外の別のフォルダに格納されている2つのCSSファイルについてもまったく同じことができました。 Expression Engineを使用していますが、問題はhtaccessファイルのルールにあることがわかりました。フォルダを自分の条件の1つに追加したところ、修正されました。これが例です:
RewriteCond %{REQUEST_URI} !(images|css|js|new_folder|favicon.ico)
そのため、htaccessファイルで競合の可能性があるかどうかをチェックする価値があります。
私の場合は、クリックイベントのようなアンカーがあります。
<a href="" onclick="somemethod($index, hour, $event)">
クリックイベントの中で私はネットワークコールをしました、Chromeは要求をキャンセルしました。アンカーは""
を持つhref
を持ち、ページをリロードし、同時にクリックイベントとネットワークコールがキャンセルされることを意味します。私はhref
をvoidのように置き換えるたびに
<a href="javascript:void(0)" onclick="somemethod($index, hour, $event)">
問題は解決しました!
私はJavaScript経由でリダイレクトしたとき、私はChromeでこのエラーを得ました:
<script>
window.location.href = "devhost:88/somepage";
</script>
ご覧のとおり 私は「http://」を忘れました 。追加した後はうまくいきました。
スタイルシートにWebフォントを埋め込むときは、 woff 、 woff2 、 ttf のように、すべての種類のフォントを埋め込んでいます。最近、 woff2 が存在する場合、Chromeが ttf および woff へのリクエストをキャンセルすることに気付きました。現時点ではChromeバージョン66.0.3359.181を使用していますが、Chromeが余分なフォントタイプのキャンセルを開始した時期はわかりません。
これは私が遭遇したクロムによって要求がキャンセルされたもう一つのケースです。
手短に
自己署名証明書が私のAndroid携帯電話で信頼されていません。
詳細
開発中/デバッグ中です。 URLは自己署名ホストを指しています。コードは次のとおりです。
location.href = 'https://some.Host.com/some/path'
Chromeは要求を黙ってキャンセルしたばかりなので、私のようなWeb開発の初心者が問題を解決する手がかりを残すことはできません。 Android携帯を使用して証明書をダウンロードしてインストールすると、問題は解消されます。
Jsからajaxリクエストを送信することになっていたフォームにタグ<button>
があるという問題がありました。しかし、ブラウザのため、フォーム内のbutton
をクリックすると自動的にフォームが送信されるため、このリクエストはキャンセルされました。
そのため、ページ上で通常のbutton
やdiv
の代わりにspan
を使用したい場合、およびフォームthrow jsを送信したい場合 - preventDefault
関数を使用してリスナーを設定する必要があります。
例えば.
$('button').on('click', function(e){
e.preventDefault();
//do ajax
$.ajax({
...
});
})
それは私にとって間違った道と同じくらい簡単でした。私はデバッグの最初のステップはあなたがajaxなどから独立してファイルをロードすることができるかどうか見ることであろうことを提案するでしょう.
その理由の1つとして、コードのどこかで XMLHttpRequest.abort() が呼び出されたことが考えられます。この場合、リクエストはChromeでcancelled
ステータスになります。開発者ツールの[ネットワーク]タブ。
私の場合、chrome 76アップデートの後に来ました。
JSコードの問題により、window.locationが複数回更新され、以前のリクエストがキャンセルされました。この問題は以前から存在していましたが、chromeはバージョン76への更新後にリクエストのキャンセルを開始しました。
リクエストがトラッキングプロテクションプラグインによってブロックされている可能性があります。
これは、私が返品をしなかったときにキャンセルされたステータスに遭遇した誰かに役立ちます。送信フォームに。これにより、ajax送信の直後に送信アクションが続き、現在のページが上書きされました。以下にコードを示します。最後に重要な戻り値をfalseにします。
$('form').submit(function() {
$.validator.unobtrusive.parse($('form'));
var data = $('form').serialize();
data.__RequestVerificationToken = $('input[name=__RequestVerificationToken]').val();
if ($('form').valid()) {
$.ajax({
url: this.action,
type: 'POST',
data: data,
success: submitSuccess,
fail: submitFailed
});
}
return false; //needed to stop default form submit action
});
誰かに役立つことを願っています。
私の場合は、メールクライアントウィンドウを表示するコードによって、Chromeが画像の読み込みを停止していました。
document.location.href = mailToLink;
$(function(){...})の代わりに$(window).load(function(){...})に移動することは助けになりました。
私にとって「取り消された」状況は、ファイルが存在しなかったためです。なぜchromeが404
を表示しないのか不思議です。
を呼び出すときに私に同じことが起こった。 jsファイルと$。 ajax、そしてajaxリクエストをする、私がしたことは普通に呼ばれていた。
背景画像として300枚の画像を読み込むと、私に起こりました。最初のうち1つがタイムアウトした、それが残りのすべてをキャンセルした、または最大同時要求に達したと思います。一度に5つずつ実装する必要がある
LoopbackJSから来て、チャートの例で提供されているようなカスタムストリームメソッドを使用しようとしている人のために。私はPersistedModel
を使用してこのエラーを取得していました。基本的なModel
に切り替えると、eventsource
ステータスの問題が解消されました。
繰り返しますが、これは特にループバックAPI用です。そしてこれはトップの回答であり、Googleのトップであるので、私は答えを組み合わせてこれを投げることにしました。
私はこの疑似コードを持っていた私たちのコードのどこかで同じ問題に直面していました:
iframeのonloadフォームを送信する
2秒後に、iframeを削除します
したがって、サーバーが応答を書き込んでいたiframeの応答に2秒以上かかる場合は削除されましたが、応答はまだ書き込まれていましたが、書き込むiframeがなかったため、クロムは要求を取り消しました。したがって、これを回避するために、応答が終了した後にのみiframeが削除されるようにするか、ターゲットを "_blank"に変更できます。その理由の1つは、次のとおりです。 書き込み中のリソース(私の場合はiframe)が、書き込みを停止する前に削除または削除された場合、要求はキャンセルされます