Chrome Loggerの変更-Google Chrome拡張機能を学び、独自の機能を作成するインセンティブとしての投稿

私のコメント: habrahabr.ru/post/177709/#comment_6169843対応する記事から拡張の問題を説明しました。リダイレクトに加えて、AJAX要求ログの出力に問題があり、場合によってはiframeヘッダーにも問題があります。

私はこれがなぜ起こるのかを知ることにし、私の声明があまりにもカテゴリー的であることに気づきました。 webRequestが実験的なdeveloper.chrome.com/extensions/experimental.webRequest.htmlでなくなった後以前は問題のあったすべての状況を処理するロガーを「ヘッダーに」書き込むことができます。 私はそのような状況をすべて分析することを目標に設定していません.Chrome Logger拡張機能を変更して上記の問題のいくつかを解決する方法を示したいだけです。簡単な例でGoogle Chrome拡張機能に対処したい人にとっては興味深いかもしれません。 投稿を読んだ後に誰かが拡張機能を書きたいと思うかもしれません。



インストール後の拡張機能自体(現在のバージョン4.0.1)は、ほとんどの場合、フォルダーにあります

Windowsの場合:

C:\ユーザー\ユーザー名\ AppData \ローカル\ Google \ Chrome \ユーザーデータ\デフォルト\拡張機能\ noaneddfkdjfnfdakjjmocngnfkfehhd \ 4.0.1_0

Linuxの場合:

/ home / User name / .config / google-chrome / Default / Extensions / noaneddfkdjfnfdakjjmocngnfkfehhd / 4.0.1_0

noaneddfkdjfnfdakjjmocngnfkfehhdはこの拡張機能のIDです 。下図を参照してください。 このフォルダは別の場所にある場合があります。すべてシステムの設定に依存しますが、簡単に見つけることができると思います。







さらなる実験のために、フォルダ4.0.1_0をディスク上の都合の良い場所にコピーし、拡張機能自体を削除して、変更される拡張機能と「交差」しないようにすることをお勧めします。

コピーされたフォルダーでは、 chromelogger.jsファイルに興味があります

すなわち、行:

chrome.webRequest.onResponseStarted.addListener (...

この行はonResponseStartedメソッドを使用してログを表示しますが、 webRequestドキュメントdeveloper.chrome.com/extensions/webRequest.htmlによると、このメソッドは次の場合に起動します。

応答本文の最初のバイトが受信されたときに発生します。

つまり 応答本文の最初のバイトを受信した後、ただし 「リダイレクト」回答には本文がないため、ログは表示されません(ここで書いたように、 habrahabr.ru / post / 177709 / #comment_6169843

ログを出力するには、 onResponseStartedメソッドをonHeadersReceivedメソッドに置き換える必要あります。行は次のようになります。

chrome.webRequest.onHeadersReceived.addListener( ...

その後、ファイルを保存し、拡張機能ページで[開発者モード]チェックボックスをオンにし、[展開された拡張機能をダウンロード]ボタンを使用して拡張機能(フォルダー4.0.1_0)を読み込みます。 テストページでアクティブにし、「リダイレクト」スクリプトからログに記録しようとします-これでログが表示されます!

これはあまりにも単純化された修正であり、場合によっては修正された拡張機能が正しく機能しない場合があります(たとえば、 onHeadersReceivedメソッドが複数回機能する場合があります)が、「完全に機能する」パッチを作成するつもりはありませんでした。



PS Google Chromeコンソールにログインするために、Cookieで動作する優れた拡張機能chrome.google.com/webstore/detail/php-console/nfhmhhlpfleoednkpnnnkolmclajemefもあります。著者は、ここでhabrahabr.ru/post/107810webRequestに再実行することを約束しましたが、まだそれを再編集していません。 リダイレクト、ajax、iframeを完全に記録しますが、ポップアップログ通知にはいくつかの問題があります。

UPD:コメントから判明したように、作者は既にこの拡張機能を作り直しており、まもなく新しいバージョンがリリースされます!



All Articles