DevTools の新機能(Chrome 66)

Chrome 66 で導入される DevTools の新機能と主な変更点は次のとおりです。

本記事を読むか、以下のリリースノートの動画をご覧ください。

[Network] パネルの [Ignore script]

[ネットワーク] パネルの [イニシエータ] 列には、リソースがリクエストされた理由が表示されます。たとえば、JavaScript によってイメージが取得される場合、[Initiator] 列には、リクエストの原因となった JavaScript コードの行が表示されます。

以前は、フレームワークがネットワーク リクエストをラッパーでラップしている場合、[Initiator] 列は役に立ちませんでした。すべてのネットワーク リクエストは、ラッパーコードの同じ行を指しています。

このシナリオで本当に必要なのは、リクエストの原因となったアプリケーション コードを確認することです。これが可能になりました。

  1. [Initiator] 列にカーソルを合わせます。リクエストの原因となったコールスタックがポップアップに表示されます。
  2. 開始者の結果に表示しない通話を右クリックします。
  3. [無視リストにスクリプトを追加] を選択します。これで、[Initiator] 列で無視したスクリプトからの呼び出しが非表示になります。

「requests.js」を無視。

図 1. requests.js を無視しています

無視するスクリプトは、[設定] の [無視リスト] タブで管理します。

スクリプトを無視する方法について詳しくは、スクリプトまたはスクリプトのパターンを無視するをご覧ください。

[プレビュー] タブと [レスポンス] タブのプリティ プリント

[Network] パネルの [Preview] タブでは、リソースが圧縮されていることを検出したときに、デフォルトでリソースをプリティ プリントするようになりました。

[プレビュー] タブで、analytics.js の内容がデフォルトでプリティ プリントされます。

図 2. analytics.js の内容をデフォルトでプリティ プリントする [プレビュー] タブ

リソースの非圧縮バージョンを表示するには、[レスポンス] タブを使用します。[Response] タブから新しい [Format] ボタンを使用して、リソースを手動でプリティ プリントすることもできます。

[表示形式] ボタンを使用して analytics.js の内容を手動でプリティ プリントする。

図 3. [Format] ボタンを使用して、analytics.js の内容を手動でプリティ プリントする

[プレビュー] タブで HTML コンテンツをプレビューする

これまでは、[ネットワーク] パネルの [プレビュー] タブに、特定の状況では HTML リソースのコードが表示され、他の状況では HTML のプレビューがレンダリングされていました。[プレビュー] タブで、常に HTML の基本的なレンダリングが行われるようになりました。フル ブラウザを意図したものではないため、想定どおりに HTML が表示されない可能性があります。HTML コードを表示するには、[レスポンス] タブをクリックするか、リソースを右クリックして [ソースパネルで開く] を選択します。

[プレビュー] タブで HTML をプレビューする

図 4. [プレビュー] タブで HTML をプレビューする

デバイスモードでのズームの自動調整

デバイスモードで、[ズーム] プルダウンを開いて [ズームの自動調整] を選択すると、デバイスの向きが変わるたびにビューポートが自動的にサイズ変更されます。

HTML で定義された一部のスタイルでローカル オーバーライドが機能するようになりました

DevTools が Chrome 65 でローカル オーバーライドをリリースしたとき、HTML 内で定義されたスタイルへの変更を追跡できないという制限がありました。たとえば、図 7 では、ドキュメントの head に、h1 要素に対して font-weight: bold を宣言するスタイルルールがあります。

HTML 内で定義されるスタイルの例

図 5. HTML 内で定義されるスタイルの例

Chrome 65 では、DevTools の [Style] ペインで font-weight 宣言を変更した場合、ローカル オーバーライドでその変更がトラッキングされません。つまり、次回の再読み込み時にスタイルが font-weight: bold に戻ります。しかし Chrome 66 では、このような変更はページの読み込み後も保持されるようになりました。

参考: フレームワーク スクリプトを無視して、イベント リスナー ブレークポイントの利便性を高める

私が JavaScript のデバッグを始めるの動画を作成したとき、一部の視聴者から、イベント リスナーのブレークポイントはフレームワーク上に構築されたアプリでは役に立たないとコメントしました。これは、イベント リスナーがフレームワーク コードにラップされていることが多いためです。たとえば、図 8 では、DevTools で click ブレークポイントを設定しています。デモのボタンをクリックすると、リスナーコードの最初の行で DevTools が自動的に一時停止します。この場合、Vue.js のラッパーコードで 1802 行目で一時停止しますが、これはあまり役に立ちません。

クリック ブレークポイントは Vue.js のラッパーコードで一時停止します。

図 6. Vue.js のラッパーコードで click ブレークポイントを一時停止する

Vue.js スクリプトは別のファイルにあるため、[Call Stack] ペインでこのスクリプトを無視して、この click ブレークポイントをさらに活用できます。

[Call Stack] ペインから Vue.js スクリプトを無視する。

図 7. [Call Stack] ペインから Vue.js スクリプトを無視する

次にボタンをクリックして click ブレークポイントをトリガーすると、一時停止せずに Vue.js コードが実行され、アプリのリスナーのコードの最初の行で一時停止します。このとき、最初から最後まで一時停止しました。

クリック ブレークポイントがアプリのリスナーコードで一時停止するようになりました。

図 8. click ブレークポイントがアプリのリスナーコードで一時停止する

プレビュー チャンネルをダウンロードする

デフォルトの開発ブラウザとして Chrome の CanaryDev、または Beta を使用することを検討してください。これらのプレビュー チャンネルを使用すると、DevTools の最新機能にアクセスしたり、最先端のウェブ プラットフォーム API をテストしたり、ユーザーに先駆けてサイトの問題を検出したりできます。

Chrome DevTools チームへのお問い合わせ

以下のオプションを使用して、投稿の新機能や変更点、または DevTools に関連するその他のことについて話し合います。

  • ご提案やフィードバックは、crbug.com からお送りください。
  • DevTools の [More options] その他   > [Help] > [Report a DevTools issues] を使用して、DevTools の問題を報告します。
  • @ChromeDevTools でツイートしてください。
  • DevTools の新機能に関する YouTube 動画または DevTools のヒントの YouTube 動画にコメントを残してください。

DevTools の新機能

DevTools の新機能」シリーズで紹介されているすべてのリスト。

Chrome 127

Chrome 126

Chrome 125

Chrome 124

Chrome 123

Chrome 122

Chrome 121

Chrome 120

Chrome 119

Chrome 118

Chrome 117

Chrome 116

Chrome 115

Chrome 114

Chrome 113

Chrome 112

Chrome 111

Chrome 110

Chrome 109

Chrome 108

Chrome 107

Chrome 106

Chrome 105

Chrome 104

Chrome 103

Chrome 102

Chrome 入門ガイド

Chrome 100

Chrome 99

Chrome 98

Chrome 97

Chrome 96

Chrome 95

Chrome 94

Chrome 93

Chrome 92

Chrome 91

Chrome 90

Chrome 89

Chrome 88

Chrome 87

Chrome 86

Chrome 85

Chrome 84

Chrome 83

Chrome 82

Chrome 82 はキャンセルされました

Chrome 81

Chrome 80

Chrome 79

Chrome 78

Chrome 77

Chrome 76

Chrome 75

Chrome 74

Chrome 73

Chrome 72

Chrome 71

Chrome 70

Chrome 68

Chrome 67

Chrome 66

Chrome 65

Chrome 64

Chrome 63

Chrome 62

Chrome 61

Chrome 60

Chrome 59