2017-12-13 5 views
-1

(XMLHttpRequestの)JavaScriptでクロームコンソールエラーの処理、私はこのエラーがコンソールから隠され、このエラーへの対応を取得する方法についての検索を続けるよ:3日間にわたってそう

Failed to load resource: net::ERR_NAME_NOT_RESOLVED

Error image in the Google Chrome's console, that I want to hide and handle

公式のクロムの文書化は役に立ちません。 https://developers.google.com/web/tools/chrome-devtools/console/track-exceptions

私はGoogle検索で一緒に来たことはありません。

(ハンドリングソリューションの迅速なテスト用)

を発生し、このineventableエラーを生成するJavaScriptが

<!DOCTYPE html> 
 
<html lang="en"> 
 
<head> 
 
<title></title> 
 
</head> 
 
<body> 
 
information: <div id="information" ></div> 
 

 
<script> 
 
\t var httpRequest = new XMLHttpRequest(); 
 
\t httpRequest.open("GET", "https://sdajfkljsdfk.lt", true); 
 
\t httpRequest.onload = function (e) { 
 
\t \t if (httpRequest.readyState === 4) { 
 
\t \t \t if (httpRequest.status === 200) { 
 
\t \t \t \t console.log(httpRequest.responseText); 
 
\t \t \t } else { 
 
\t \t \t \t document.getElementById("information").innerHTML = "Error Unresponsive Domain"; 
 
\t \t \t } 
 
\t \t } 
 
\t }; 
 

 
\t httpRequest.send(null); 
 
</script> 
 
</body> 
 
</html>

+0

エラーへの応答とはどういう意味ですか?あなたはそれを解決しようとしていますか?これは文字通り、このファイル 'https:// sdajfkljsdfk.lt'が存在しないことを伝えるだけです。どこからでも引き出す​​ことはできません。それを他のもの(例えば: 'https:// code.jquery.com/jquery-3.2.1.min.js')に置き換えれば、それはあなたにそのエラーを与えません。 – JeanPaul98

+0

このエラーは、このドメインがアクセス不能であることを示しています。 エラーが発生した後で、そのようにしたいと思います - ドメインに応答しないページの一部にテキストを追加するなど、 – user3789797

+0

コンソールに表示されるネットワークエラーを、単純にネットワークエラーが発生していないこと以外は隠すことはできません。 –

答えて

-1

この

httpRequest.open("GET", "https://sdajfkljsdfk.lt", true); 
httpRequest.onload = function (e) { 
    if (httpRequest.readyState === 4) { 
     if (httpRequest.status === 200) { 
      console.log(httpRequest.responseText); 
     } else { 
      document.getElementById("information").innerHTML = "Error Unresponsive Domain"; 
     } 
    } 
}; 
httpRequest.onerror = function (e) { 
    document.getElementById("information").innerHTML = "Error Unresponsive Domain"; 
}; 
httpRequest.send(null); 

をやってみ、私の答えは十分に明確でない場合、また、あなたはthis linkを見てみることができます。 This one too

UPDATE

は、コンソールからある特定のエラーを削除できるようにするつもりはありません。

httpRequest.onerror = function (e) { 
    document.getElementById("information").innerHTML = "Error Unresponsive Domain"; 
    console.clear(); //clear console 
}; 
httpRequest.send(null); 

は私もthisにつまずいたが、それはあなたを助ける場合、私は知らない。それをクリアする唯一の方法は、このような何かを試してみることです。

+0

これは、実際には、object.onerrorイベントリスナーの使用法を明確に示しています。 ありがとうございます。 しかし、私はエラーリスナーを使って処理しても、コンソールにエラーが残っています。 クイックソリューションの1つが私の頭の中に入ったのです。console.clear()を使用することです。方法。 コンソールのすべてをクリアして、そのエラーを取り除くことに成功しました。 しかし、コンソールに「コンソールがクリアされました」というメッセージは表示されません。現れた。 また、私はすべてがクリアされることを望んでいません、私が処理したこの単一のエラーだけです。 – user3789797

+0

削除コマンドは、不要な「GET https://sdajfkljsdfk.lt/ net :: ERR_NAME_NOT_RESOLVED」エラーをコンソールログから消去する方法とは関係ありません。あなたがonerrorメソッドを削除することはできないので、エラーはなくなります。私は、コンソールログをエクスポートして、それをフィルタリングしてからインポートすることをお勧めします。しかし、コンソールログをインポートすることが不可能である可能性はほとんどありません。 – user3789797

+0

特定のエラーをログから削除することはできません。ログ全体を消去するしかありません。更新された回答を参照してください。@ user3789797 – JeanPaul98

-1

あなたがすることはできません。ネットワーク関連のエラーの理由はJSには公開されていません。彼らは同じ起源ポリシー違反のように隠されています。

(可能であれば、WebサイトはイントラネットサーバーやIoTデバイスで使用されている名前などのプライベートLANで使用されている名前の一覧をループし、エラーを検出してLAN上のデバイスを特定できます。情報は、その後、さらに攻撃を開始するために使用することができます。)

+0

このトピックに関するいくつかの関連リンクを共有できますか?また、クロームの開発者はこの「常識」の短いソリューションをどのように使用することにしましたか?これはいくつかの情報源を持っていると役に立ちます。シンプルですが、この決定についてもっと知ることも面白いです。 – user3789797

関連する問題