意外と知らないかも? Chrome DevTools の機能10選

     - UI/UX, 開発ツール , ,  


みんな使っている Chrome DevTools。
Web開発やトラブルシューティングには必須ですが、便利な機能を知らないで使っている人がいたり、Web で使い方を調べても古い情報だったりすることがあるので、部内で Chrome DevTools についての勉強会を開催しました。

ここでは、その中から10個とりあげてみます。
Chrome DevTools の画面の開き方など基本的なことには触れないので 参考情報 を見てください。

1. Cookieの表示・削除、JavaScript・Flashなどの有効・無効の切替

まずは DevTools を使わなくてもできることから。
Cookie を確認したり、noscript タグの表示を確認するのに、いちいち設定画面を開いていませんでしたか?(自分もそうでした…)
URL の隣にある (i) や [保護された通信] をクリックすると出てくるメニューを使うと簡単に確認や設定変更ができます。他にもいろいろと設定は変えられるので、画像を OFF にしてテキストブラウザの気分を味わうこともできますね!

Cookie の表示・削除、JavaScript・Flash などの有効・無効の切替

Cookie の表示・削除、JavaScript・Flash などの有効・無効の切替

2. 隠し設定の変更・隠し機能の表示

こちらも DevTools ではありませんが、URL に chrome://flags と入力すると隠し設定が変更できるようになっています。
Chromium ProjectsWICG/interventions などで議論されている将来の機能追加や仕様変更をいち早く試すことができたりしますが、設定を変更して遊んだ後は [すべてデフォルトに戻す] ボタンを押すのを忘れずに。そうしないと「なぜか自分の Chrome だとサイトがきちんと表示されない」という事態が発生します…

chrome://flags

chrome://flags

Chrome で使える特別な URL は他にもたくさんあり、URL に chrome://chrome-urls と入力すると一覧を見ることができます。

chrome://chrome-urls

chrome://chrome-urls

3. 表示に使われているHTMLを確認する・HTMLの表示場所を確認する

これはよく知られている機能です。
DevTools の [Elements] を開いた状態で左上の矢印をクリックすると、サイトの表示が HTML のどの Element に対応するのか、Element がサイト上のどこに表示されるのか確認できます。
ここで Tips を1つ。右側で選択した Element が左側のページ表示で見切れているときは、右クリックして [Scroll into View] を選ぶと、表示するまでスクロールします。

表示に使われているHTMLを確認する・HTMLの表示場所を確認する

表示に使われているHTMLを確認する・HTMLの表示場所を確認する

4. コンソールを使って JavaScript の変数確認

[Console] では JavaScript の変数値を確認することができます。ここではカーソルのある Element 上での実行結果が表示されるため、iframe 内部の変数の確認もできます。
また、コマンドライン API リファレンス にあるように、コンソールにはいろいろと便利な関数が用意されていて、セレクターで要素を選択したり、データを表形式で表示する、といったこともできます。

コンソールを使って JavaScript の変数確認

コンソールを使って JavaScript の変数確認

5. 圧縮されている JavaScript を整形してデバッグ

本番環境でしか起こらない問題を調べようとしたら、JavaScript が圧縮(minify)されていた…ってこと、ありますよね。
[Sources] で {} のボタンを押すと圧縮を解除できます。圧縮を解除した状態で、ブレークポイントを置いてデバッグすることもできます。

圧縮されている JavaScript を整形してデバッグ

圧縮されている JavaScript を整形してデバッグ

6. DOM が変更されたタイミングでブレークポイント

他の人から引き継いだコードだと「HTML のこの部分をどの JavaScript が更新しているかわからない」ことってありますよね。
DOMブレークポイントを使えば見つけられます。[Elements] の画面では変更された部分の色が変わるので、ブレークポイントを置きたい Element にカーソルを置いて右クリックから [Break on…] で表示される [subtree modifications] [attribute modifications] [node removal] のどれかを選択。次に変更されたタイミングでデバッグ画面になります。

DOMが変更されたタイミングでブレークポイント

DOMが変更されたタイミングでブレークポイント

7. リダイレクトしてもログが残るようにする

ネットワークの調査をしているときに、リダイレクトやページ移動する前のログを見たいことってありますよね。[Network] で [Preserve log] にチェックを入れるとページ移動する前のネットワークログが残るようになります。

リダイレクトしてもログが残るようにする

リダイレクトしてもログが残るようにする

8. ネットワーク帯域幅制御や User Agent の変更

[Network conditions] では、帯域幅やキャッシュの有効・無効、User Agent の変更ができます。User Agent は [device toolbar] でも変更できますが、こちらの方が選択肢が多く Windows の Edge や IE、Opera も選択できるようになっています。
また、完全に表示されるまでの表示途中のスクリーンショットを連続して撮ることもできます。

ネットワーク帯域幅制御や User Agent の変更

ネットワーク帯域幅制御や User Agent の変更

9. 全ファイルを検索

[Search] では、サイトで使われている全ファイルを検索ができます。正規表現での検索や大文字・小文字の区別もできます。

全ファイルを検索

全ファイルを検索

10. スマホ・タブレットの枠付きでスクリーンショットを撮る

上司から「スライドのここにスマホとタブレットの絵を入れといて!」って言われた人、スマホやタブレットの枠を自分で作っていませんか?
[Show device frame] でデバイスの枠を表示させて [Capture screenshot] で枠付きの画像を保存できます。資料作成が楽になりますね!

スマホ・タブレットの枠付きでスクリーンショットを撮る

スマホ・タブレットの枠付きでスクリーンショットを撮る

参考情報


DACエンジニア採用情報

  関連記事

no image
SafeFrameでリッチ広告をセキュアに実現

アドサーバ(広告配信サーバ)は、通常iframeで広告のクリエイティブを配信している。(JS配信とかに対応しているアドサーバもある) 通常のセキュリティだとiframeの中身(srcで実際に表示されている側)がiframeを操作する事はできない。つまりexpandなどのリッチ広告、特に表示領域を変更 …

Tableauを利用してMySQLとRedshiftのクロスDBジョインを実現する

はじめに RedshiftやTreasureDataなどのデータマート用のDBにはID単位の解析結果が格納され、ローカルのMySQLにはIDに紐づいた名称マスタが管理されている構成の場合、データマートのクロス集計結果に対してIDに紐づいた名称を付与したいことがあります。 データマート用に用意したDB …

自社サービスのDocker化(後編)

こんにちは。 インフラ開発部の上田です。 前回、前編としてDockerについて書き、早半年も経ちました。 前編はこちらです 今回は後編として、以下について書いてみたいと思います。 ■複数プロセス起動 前編で書いた通り、通常のOS起動時とは異なり、コンテナ上で個別にプロセスを起動する必要があります。 …

no image
AWSにRailsアプリをデプロイする(準備編)

今回は、せっかくRailsで開発したアプリをAWS上に公開してみたいので その構築方法をまとめていきたいと思います。 (前回の記事:初心者がRailsで開発 – deviseでユーザー認証設定 ) AWSの設定はすでに社内で使用できるようになっていたので割愛します。 ★やりたいこと Gitlabでコ …

Scala入門 準備編「開発環境構築」 – PHP使いからScala使いへ転身!

  はじめに みなさんこんにちは、今月入社しましたプロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 XmediaOneの開発で採用しているプログラム言語はS …

Android 非同期処理についてまとめてみた

Androidには、UIに影響を与えないよういくつか非同期処理が用意されています。 今回は非同期処理の代表的な ・Service ・IntentService ・HandlerThread について違いを踏まえながらまとめます! 非同期処理について(http://codezine.jp/articl …

【クラウド初心者向け】Google Cloud Platform(GCP)でWebサイトを公開してみよう!

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 背景 わたくしは最近プライベートで開発したWebサービスをインターネット上に公開しまし …

MacのSSHポートフォワーディングツール「autossh」と「Coccinellida」をご紹介!

はじめに みなさんこんにちは、プロダクト開発本部の亀梨です。 普段はXmediaOneというメディアプランニング・広告運用管理・トラッキング・マーケティング分析を行う 統合プラットフォームの開発を担当しています。 さて、皆さんはSSHポートフォワーディングするときにどんな方法で行っていますか? わた …

【HTML5】4ツール出力ファイルサイズ比較

こんにちは、近江です。 前回もHTML5のSwiffyについて書かせて頂きましたが、まだまだHTML5について調査しています。 今回はSwiffyを含めた4つのHTML5系ツールで、同じ素材で同じアニメーションを作成した時のファイルサイズを比較したいと思います。 何故ファイルサイズの比較をするかと言 …

Charlesを使ってスマホアプリ(iOS)のUAを調べてみた

はじめに ここ最近のスマホアプリには、Webブラウザの機能を実装したものが少なくありません。 (“スマホアプリ内で立ち上がるブラウザ「アプリ内ブラウザ」”の機能は「WebView」というコンポーネントを用いて実装されています。) 昨今のWebサイト、サービス運営に於いて、「通 …