意外と知らないかも? 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エンジニア採用情報

  関連記事

x-callback-urlを使ってみた

x-callback-urlとは? iOSのアプリ間連携の仕様の一つみたいです。簡単に言うと、ディープリンクを行うためにカスタムURLスキームを利用するが、アプリ毎にバラバラな規則でURLスキームを設定するとアプリ間連携をスムーズに行うことができないため、どのような規則でURLスキームを設定するかを …

クラウド電話API “Twilio”で起こされてみた

どうも、開発部のクラヴマガです。 弊社サービスも最近はAWSの様なクラウド環境でサービスを構築することが多くなりました。 そこで問題になるのが、障害などによる深夜対応・・・。 データセンターに物理サーバをおいていた頃は、データセンターから障害発生時に 電話連絡をもらっていたのですが、クラウド環境では …

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

次にデプロイするため“aws rails デプロイ”でググってみるとunicorn、nginxというキーワードがでてくるので とりあえずこれを設定していきます。   アプリのsecret_key_baseの設定 [crayon-59e73949cc832279535 …

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

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

【小ネタ】タスク管理ツール移行: Trello から Asana

  プロジェクトチームのタスク管理ツールを Trello から Asana に変えることになり、 タスクの移行が意外と簡単にできた、というお話です。 Trello と Asana もともと使っていたのは Trello(トレロ)です。 プロジェクト > タスクグループ > タスク …

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

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

初心者がRailsで開発 – deviseでユーザー認証設定 –

こんにちは、2年目のYukaです。 開発部所属でありながら実は、、 実際に自分で手を動かして開発する機会がなかなかありませんでした。。 しかしついに、、、 開発初心者がRailsでWebアプリの開発に挑戦します!! 今回のゴールは社内でも使用しているGoogleアカウントで簡単にログインができるよう …

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

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

いまさらですが… GNU screen チートシート

最近はローカル環境で開発するようになってきたので、screen コマンドを使う機会も少なくなって来たような気がします。で、使ってないと忘れてしまうので、チートシートを作ってみました。 参照サイト GNU screen [quick_reference] 起動 コマンド 動作 screen -S &l …

modern.IEを使ってMac上でWindows10を動かす

Microsoftが提供している modern.IE というプロジェクトがある。そこで提供されている仮想環境を使って、MacにWindows10をインストールしてみる。ちなみに、このプロジェクトの本来の目的はInternet Explorerの表示確認やデバッグの支援。 VirtualBoxの準備 …