JavaScriptのデバッグは、ウェブ開発の必須スキルのひとつです。プログラムの実行をデバッグすることで、現在の変数の値や、処理がどのように進んでいるのかを確認できます。デバッグによってプログラムが意図した動作になっているかの分析に役立てられます。 本記事ではGoogle Chromeブラウザーの「Chrome Developer Tools」(以下「デベロッパーツール」、「DevToolsデブ・ツールズ」という略称もあります)を使用してJavaScriptをデバッグする際の基本的な使い方を解説します。「今までデベロッパーツールを使ったことのない」という方でもこの記事を読めば理解できるよう、チュートリアル形式になっています。20分ほどで理解できるようまとめているので、順番に試しながら読み進めてください。 この記事で学べること デベロッパーツールの使い方 JavaScriptのブレークポイ
マイクロソフト、新しいEdgeでDevToolsの日本語化実現。Chromiumのソースコードにもコントリビュート Chromeには「DevTools」と呼ばれる開発者向けのツールが組み込まれており、表示しているWebページのHTML/CSSの詳細の把握やJavaScriptのデバッグなど、さまざまな機能が利用ができます。 DevToolsはWebサイトやWebアプリケーションの開発にはなくてはならないツールですが、その表示内容はすべて英語で行われており、ややとっつきにくいところがあります。 そのDevToolsの日本語化が実現します。 マイクロソフトは、Chromiumをベースにした新しいEdgeブラウザで、DevToolsの日本語化を実現したと発表しました。 日本語のほかにも中国語(简体、繁體)、フランス語、ドイツ語、イタリア語、ポルトガル語、韓国語、ロシア語、スペイン語などにも対応し
Node.jsを使って書かれたアプリケーションをデバッグするにはどうするのがいいのかちょっと調べていたのですが、 今はGoogle ChromeのDevToolsを使うのが良いみたいですね。 Debugger | Node.js v9.5.0 Documentation Debugger / V8 Inspector Integration for Node.js こちらを使うと、Chrome Debugging Protocolを使ってデバッグが可能になるようです。 Chrome DevTools Protocol Viewer Node.jsのv8以降であれば標準で、それ以前だとexperimental feature扱いだったみたいですね。 Node.jsのデバッグは、Node.js組み込みのデバッガーやnode-inspect、Visual Studio Codeあたりが有名なよう
目次 第1章 はじめに デベロッパーツール(Chrome Developer Tools)とは Google Chrome Canaryとは 他 第2章 inspect(要素の検証) 要素の検証方法 第3章 Device Mode(デバイスモード) デバイスモードの切り替え方法 メディアクエリを表示する 他 第4章 Elementsパネル HTML要素を編集する スタイル(CSS)を編集する 数値のCSSプロパティー値を、キーボードショートカットを駆使して編集する 他 第5章 Consoleパネル コンソールを表示する コンソール履歴のクリア 入力履歴をサジェスト表示する 他 第7章 Networkパネル キャッシュを無効にする オフライン/モバイル環境でWebサイトを読み込む ユーザーエージェントを他のブラウザーに変更する 他 第8章 Performanceパネル パフォーマンス記録前に
2011/3/22に、GoogleがようやくGoogle Chrome版「Page Speed」拡張機能を公開しました。 「Page Speed」は、項目をある程度理解できれば自分や自社のサイトの表示速度の改善にとても役立つツールです。 この記事では、「Page Speed」のインストール方法から各調査項目の見方や改善方法を中心に使い方を解説します。 ぜひ、ご自身のサイトの改善に役立てていただければと思います。 そもそも、なぜサイトの表示速度を速くする必要があるのか? 例えば、Amazonの調査によると「表示速度が0.1秒遅くなると、売上が1%減少する」といい、Googleの調査によると「表示速度が0.5秒遅くなると、検索数が20%減少する」と言われます。 また、GoogleはWebページの読み込み速度をアルゴリズムに取り入れたことを発表しています。 大手サイトや大規模なECサイトに限らず
こんなことはありませんか? ChromeでDevToolsを使って解析しているのに、別タブが開いてしまって 何のリクエスト投げて遷移してるか見れない ロード時に実行されるJSをデバッグできない みたいな。 開発中だと自分で作ってたりするので、あまり問題にならないのですが 運用後に発覚したバグの調査とか、急に担当者がいなくなった、 とかそんな事案が年に1回くらい発生します。 地味に方法を見つけるのに時間がかかってしまったので (開発者ツールを別タブで開く記事ばかりヒットするので) 自分がググった時の単語を記事のタイトルにしました。 設定自体は5クリックくらいでできます。 DevToolsのSettingsから [Preferences]→[Network]→[Preserve log]をONにして [Preferences]→[DevTools]→[Auto-open DevTools fo
先週末にリリースされたChrome 67でアップデートされたデベロッパーツールの新機能を紹介します。 Webの制作時に役立つ機能だけでなく、UIも進化しており、さらに便利になりました。 What's New In DevTools (Chrome 67) ネットワーク ヘッダとレスポンスを検索 CSS変数値のプレビュー機能 Copy as fetch Auditsパネルのアップデート 無限ループを停止する ダークテーマのアップデート ネットワーク ヘッダとレスポンスを検索 Networkパネルに検索機能が加わり、クエリのすべてのネットワークヘッダとレスポンスを検索できます。検索するキーワードは、正規表現にも対応しています。 Networkパネルを開き、command + F で検索。 「cache-control」を検索 SearchパネルUIのアップデート グローバル検索のUIが、ネット
先月3月末にiOS 11.3がリリースされ、Service Worker APIに対応しました。実際にPush通知などには対応していませんが、ホーム画面へのインストールやキャッシュによるオフライン対応などある程度の機能を搭載し、iPhoneユーザーが過半数以上を占める日本(出典statcounter)では益々PWAへの期待が高まっていると感じています。 さて、今回もWhat's New In DevTools (Chrome 67)からデベロッパーツールの一部抜粋です、Networkパネルの検索や、PWAにも関連するAudits設定の更新など目白押しの更新が多くあります。 Network HeaderとResponseの検索 Networkパネルからの検索対象にファイルのHeaderとResponseが含まれるようになりました。 例えばMIMEタイプでファイルを検索したり、特定のコード一文
New features and major changes coming to DevTools in Chrome 67 include: Search across all network headers CSS variable value previews in the Styles pane Copy as fetch New audits, desktop configuration options, and viewing traces Stop infinite loops User Timing in the Performance tabs JavaScript VM instances clearly listed in the Memory panel The Network tab in the Sources panel has been renamed to
カーソルをオーバービュー上に置くと、置いた時点のスクリーンショットがポップアップで表示されます。カーソルを動かして、レンダリングの推移を確認できます。 オーバービュー上でドラッグするとその範囲がハイライトされ、オーバービューの下にあるペーンの情報がその範囲で起こった情報に更新されます。 タイムラインの使い方は、まずオーバービューで気になるところをハイライトし、その下のペーンで詳細をチェックするという流れで進むことが多いでしょう。 さて、サムネイルでも黒い背景が一瞬見えているのがわかります。カーソルを動かして、黒背景から背景画像が現れるところを探し、その箇所をハイライトしましょう。下のネットワークペーンが更新され、ハイライトされた期間に読み込みが行われていたリソースだけが表示されます。 この状態で、オーバービューの下にある、ネットワークペーンに移ります。 ネットワークペーンで読み込まれたリソ
詳細は GitHub の README.md を見てね! どんな力を使ったの? devtools-detect というライブラリを利用して、 DevTools の表示/非表示の切り替え発生時に呼び出される EventListener で、 DOM のクリアと共に YouTube の人類滅亡動画をコンテンツエリアいっぱいに引き伸ばして自動再生させています。 devtools-detect とは一体…? devtools-detect は実装自体シンプルなので、興味があれば直接見てもらっても良いですが、 一番重要なのは下記条件文で DevTools の表示/非表示の切り替えを検出している点ですね。 var isLongOuterWidth = (window.outerWidth - window.innerWidth > 160); var isLongOuterHeight = (wind
CSSアニメーションによるGPU処理 昔はWebサイトでアニメーションを行う際はJavaScriptがよく使用されたが、現在はCSSアニメーションが使用されることが多い。 理由はJavaScriptは主にCPUで処理するが、CSSはGPUを併用して処理するため処理負荷が軽く、スマートフォンなどの低スペックな端末でもスムーズにアニメーションを行うことができるからだ。 ただし、CSSを使用してアニメーションを行っていても、正しく使用しないとGPUで効率的に処理することができない。 GPU処理の確認方法 Chromeの場合はまずChrome Developer Toolを開いて3点ボタンをクリックしてRenderingを選択する。 RenderingタブでPaint flashing、Layer borders、FPS meterにチェックを入れるとアニメーション部分に枠線が付き、fpsやGPU
Welcome back! New features coming to DevTools in Chrome 64 include: Performance Monitor. View a page's performance in real-time. Console Sidebar. Reduce Console noise and focus on the messages that are important to you. Group similar Console messages. The Console now groups similar messages together by default. Read on, or watch the video version of these release notes below. Performance Monitor U
New features and changes coming to DevTools in Chrome 62: Support for top-level await operators in the Console. Screenshots of a portion of the viewport, and screenshots of specific HTML nodes. CSS Grid highlighting. A new Console API for querying objects. Negative filters and URL filters in the Console. HAR imports in the Network panel. Previewable cache resources. More predictable cache debuggin
はじめに chromeはブラウザとしての機能だけでなく、デベロッパーツールにも積極的に機能追加をしています。 先日ver.60に更新され、今回もデベロッパーツールに新たな機能が追加されております。 その中で個人的に一番うれしかった機能をご紹介します。 chrome ver.59までの場合 下図のソースはファンクションCCC→BBB→AAAの順に呼ぶだけのプログラムですが CCCからBBB、BBBからAAAを呼ぶときにはsetTimeoutを使用して、タイムアウト後に呼び出すようになっております。 アプリケーションを開発していく中ではレンダリングを優先させるためやタイミング調整のためこのようにsetTimeoutを使用する場合があると思います。 ここで、ファンクションAAAをデバッグしたい場合、AAA内部でブレイクさせると下図の通りCall StackはsetTimeoutの タイムアウト後
Chrome DevToolsはとてもとても便利で、毎日お世話になっている神ツールです。 単純なHTMLの解析からGPUの使用具合というマニアックな情報まで色々確認出来ますが、その中でデバッグの時に設定しておく事で、ちょっとしたミスを減らして問題にすぐ気付ける設定が1つあります。 javascriptエラーが発生した場合にエラーを補足しBreakする Sourceタブを選択した場合に、左下にメニューがあります。 その中の機能としてボタンっぽいがあります。 これを、1回クリックします。するとという感じで色が変わります。次にもう一度クリックします。するとこんな感じで色がまた変わります。 これらを設定しておくと、javascript実行時に発生したエラーをDevToolが検知してBreakしてくれるので、すぐに問題のあるコードに気がつく事が出来、ミスにすぐ気がつく事が出来ます。 Pause on
表示中のHTMLから情報を雑に抜き出して利用するため,ブラウザのデベロッパツールなどでquerySelectorAllしてmapしたい.しかし,querySelectorAllはNodeListを返すので,mapするにはArrayに変換する必要がある. NodeListをArrayに変換するときに短く書く方法ないですかって同僚に聞いたらいろいろ教えてもらえたのでメモ. Array.prototype.slice.callする オーソドックスな手法.昔からこれを書いていて,長くて困っていた.最近はアロー関数を使えるのでちょっと短くなったけど長い. Array.prototype.slice.call(document.querySelectorAll('a')).map(a => a.href) [].slice.callする Array.prototypeのかわりに[]で書く.ちょっと短い
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く