Chrome Dev Tools:新しいタブを開くリンクのネットワークを追跡する方法は?


236

リンクをクリックしたときに発生するネットワークアクティビティを追跡したい。問題は、リンクが新しいタブを開き、開発ツールが開いていたタブごとに機能することです。「ナビゲーション時にログを保持」は役に立ちません。

現在の解決策は、この問題のないFireFoxとHttpFoxに移行することです。Chromeのすべての開発者がどのように管理しているのか、これはかなり基本的に聞こえます(もちろん、答えを検索しましたが、役立つものは何も見つかりませんでした)。


この質問はかなりの注目を集めているので、もっと良い解決策を提供できるかどうか疑問に思い始めました。すべてのリンクを同じタブで開くようにするとうまくいきますか?
Konrad Dzwinel 2013

@KonradDzwinelこれは私にとって1回限りのタスクでした。答えを書いてみてもいいなら、喜んで受け入れます。
davka 2013

1
これを機能として使用したい場合は、このChromiumバグにスターを付けてください:code.google.com/p/chromium/issues/detail
id=

回答:


220

ブラウザで発生するすべてのネットワークイベントの詳細な概要については、chrome://net-internals/#events(またはchrome://net-export最新バージョンのChromeで)確認してください。


特定の問題に応じて、[ネットワーク]タブで[ログの保持]を有効にすることで、他の解決策が考えられます。

DevTools>ネットワーク>ログの保存

コンソールで次のコードを実行して、すべてのリンクを強制的に同じタブで開くようにします。

[].forEach.call(document.querySelectorAll('a'),
    function(link){
        if(link.attributes.target) {
            link.attributes.target.value = '_self';
        }
    });

window.open = function(url) {
    location.href = url;
};

13
おかげでこれはかっこいいですが、別のタブのためだけに、開発ツール(すべてのヘッダーを含む要求と応答)のようなリストが必要です
davka

これは特にフィルターを広告する場合に非常に興味深いtype:URL_REQUESTですが、[ネットワーク]タブと同じ情報が含まれていないようです。たとえば、リクエストとレスポンスの両方のCookieデータが取り除かれているようです。
Patrick M 14

3
document.querySelectorAll('a,form')フォームにも影響します。
jgb

1
私はこれを2回賛成できるといいのですが。私は、ホットキーでこれを行うクロムのコンテンツスクリプトを作成しました。
polkovnikov.ph

1
Chromeに「net-internalsイベントビューアと関連機能が削除されました。表示するには、chrome:// net-exportを使用してネットログを保存し、外部カタパルトnetlog_viewerを表示してください。」、しかしchrome:// net-exportは素晴らしい働きをします。
ヨルダン

109

機能要求 phsourceによってコメントに言及したが実装されました。

最近のバージョン(Chrome 50以降)では、[開発者ツールの設定]メニュー([開発者ツール]を開いてから、3ドットのメニューを使用するか、[ヒット])に移動して、[ F1DevToolsをポップアップで自動開く] チェックボックスをオンにします。


13
ウィンドウが開いたらすぐに「ログの保持」を有効にするのが少し難しいことを除いて、正常に機能します。
Erwin Mayer

現在、Chromeの安定バージョンは55
Lulu

5
しかし、新しいウィンドウでは<ログの保持>が有効になっていません。Chromeエンジニアの何が問題になっていますか?
Pacerier 2017年

これをstackoverflow.com/a/29029881/145400と組み合わせて使用​​してください(「ウィンドウが閉じた後でもChrome Dev Toolsを開いたままにしておくことは可能ですか?」に対する素晴らしい答えです)。
Jan-Philip Gehrcke博士、2018

3ドットメニューを使用するか、[ヒット]> [設定]ページ> [DevTools]> [ポップアップのDevToolsを自動で開く]
ホリー

27

Chrome 61.0.3163.100では、次のオプションが利用できるようになりました。Chrome Dev Tools Settingsからアクセスできます。一番下にあります。

Webインスペクターの設定


3
残念ながら、これは新しく開いたウィンドウで「ログの保持」をアクティブにしないため、新しいウィンドウとそのウィンドウでリダイレクトが発生した場合、ネットワークログは消去され、リダイレクト後に開始されます。
1

4
画像を見るためにリンクをクリックしたくない人のための設定は、「DevTools」という見出しの下の「ポップアップ用のDevToolsを自動で開く」です。その他の利用可能な設定:[ネットワーク]の[ログの保持]; 「コンソール」の下の「ナビゲーション時にログを保持する」。
hlongmore

2
これは私(Chrome 76)で機能しており、ポップアップウィンドウの開発者ツールを起動すると、[ログの保持]がアクティブになります。
Vince Bowdren

11
  • へのリンクを追加/更新 target="_self"
  • [ネットワーク]タブの[ナビゲーション時にログを保持する]をオンにします。
  • リンクをクリックして、リクエストをログに記録します

10

あなたはこの方法でそれを行うことができます:

  1. 必要なリンクにtarget = "any_window_name"を設定します。
  2. そのリンクを1回クリックして、新しいタブで開きます。
  3. 開いているタブで、開発者ツールを開きます。
  4. 元のページに戻り、もう一度そのリンクをクリックしてください。

    結果は、開発者ツールが開いた状態ですでに準備されているウィンドウに読み込まれます。

    開発ツールの「ログの保存」オプションをアクティブにして(Konrad Dzwinelの優れた回答を参照)、そのリンク上のリダイレクトトラフィックをキャッチできます。

    :リンクターゲットfamiliar {_self、_blank、_parent、_top}に精通しているほとんどの人。しかし、実際には任意の名前を付けることができます。これにより、その名前で新しいウィンドウが開き、同じターゲット値を持つリンク、フォーム、またはwindow.openをクリックすると、同じウィンドウで開かれます。さらに読む-mdn:window.openmdn:<a>タグ


このヒントを本当にありがとう、私はそれを考えたことはなかったでしょう。まさに私が必要としたもの。これを読んでいる人が2つのページが同時にどのように動作するかを確認したい場合は、(少なくともChromeで)複数のウィンドウで機能します。
Mark Ormesher、2016年

3

開いているリンクがリダイレクトされない場合は、新しいタブで[ネットワーク]タブを開いて、タブを更新できます。



0

*免責事項:HttpWatchの開発者による投稿*

WindowsのHttpWatchは、ツール->オプション->記録で自動記録を有効にすることにより、新しいChromeタブまたはウィンドウが開いたときに生成されるネットワークトラフィックを記録できます。新しいウィンドウでHttpWatchアイコンをクリックして、ネットワークトレースを表示します。

無料版では、各リクエストのURL、ステータスコードと経過時間などの基本的な情報を提供します。

*免責事項:HttpWatchの開発者による投稿*

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.