スマホで開いているWebページでJavaScriptを実行する方法!デベロッパーツール活用術

,
「パソコンのブラウザならF12キーで開発者ツールを開き、コンソールからJavaScriptを実行できるけれど、スマホ実機で開いているページでも同じようにスクリプトを実行したりデバッグしたりできないだろうか?」と思ったことはないでしょうか。

実は、スマートフォン(iPhone / Android)のブラウザでも、ブックマークレット仮想インスペクタツールを活用することで、閲覧中のページに対してその場で任意のJavaScriptを実行したり、PCライクなデベロッパーツールを呼び出したりすることが可能です。

本記事では、手軽にスクリプトを実行する方法から、スマホ画面上に本格的な開発者ツールを表示させる方法、PCと連携したリモートデバッグまで分かりやすく徹底解説します。

スマホでスクリプト実行やデバッグが必要になる場面

スマホ実機上でのJavaScript実行やコンソール利用は、Web制作や日常のブラウジングにおいてさまざまなシーンで役立ちます。

  • スマホ特有の不具合調査:タッチ操作、画面サイズ、iOS Safari固有のレンダリングや挙動の検証
  • データや要素の確認:ページ内の特定のDOM要素、Cookie、LocalStorageの保持データの確認と書き換え
  • 日常の操作補助・自動化:ログイン中のスマホ画面で特定のアクション(フォーム入力補助や長文テキスト抽出など)を実行
  • 出先でのクイックテスト:PCを開かずにWebページの表示検証やスクリプト動作テストを実施

最も手軽!ブックマークレットでJavaScriptを実行する

専用アプリや機能拡張を導入せず、標準のSafariやChromeですぐにスクリプトを実行できるのが「ブックマークレット(Bookmarklet)」です。

ブラウザのブックマーク機能に、通常のURLではなく javascript: から始まるコードを登録しておくことで、現在開いているページ上でそのスクリプトを直接実行させることができます。

ブックマークレットの登録手順(iPhone / Android共通)

スマホブラウザのブックマーク登録画面では新規作成時にURLを自由入力できない仕様が多いため、以下の手順で登録するのが確実です。

  1. 任意のWebページを開き、ブラウザの共有メニューやメニューバーから「ブックマークに追加」を行います。
  2. ブックマーク一覧から、先ほど登録したブックマークの「編集」画面を開きます。
  3. ブックマーク名を分かりやすい名前(例:「JS実行」「タイトル取得」など)に変更します。
  4. URL欄に入力されているアドレスをすべて削除し、実行したいJavaScriptコードを貼り付けて保存します。

基本のブックマークレット例

例えば、現在開いているページのタイトルとURLをアラート表示する基本コードは以下の通りです。

javascript:(function(){
  alert('タイトル: ' + document.title + '\nURL: ' + location.href);
})();

スマホ上での実行方法

登録したブックマークレットを実行する際は、スクリプトを実行したい対象ページを開いた状態で以下の操作を行います。

  • アドレスバーから実行:アドレスバーをタップし、登録したブックマーク名(例:「JS実行」)を入力すると、候補にブックマークが表示されるのでそれをタップします。
  • ブックマーク一覧から実行:ブックマークメニューを開き、登録した項目を直接タップします(Safariでは現在のアクティブタブ上で即座に実行されます)。

画面上に仮想デベロッパーツールを召喚する「Eruda」

「パソコンのDevToolsのように、複数行のコードを自由に入力して実行したり、エラーログの確認やHTML要素の検証(Elements)を行いたい」という場合に最適なのが、オープンソースのモバイル向けデバッグツール「Eruda(エルダ)」です。

Erudaを読み込むブックマークレットを実行すると、スマホ画面の右下に小さなフローティングボタンが出現します。タップすると、パソコンの開発者ツールそっくりのパネルが画面下部に展開されます。

Erudaで利用できる主な機能:

  • Console:JavaScriptコードの入力・即時実行、ログ(log, info, warn, error)の確認
  • Elements:HTMLツリーのインスペクト、CSSスタイルの確認・リアルタイム書き換え
  • Network:HTTPリクエスト/レスポンス、非同期通信(Fetch / XHR)のステータス監視
  • Resources:LocalStorage、SessionStorage、Cookieの閲覧・編集・削除
  • Info:ユーザーエージェント、画面解像度、パフォーマンス情報の確認

Eruda起動用ブックマークレットの登録

ブックマークのURL欄に以下のコードを登録しておくだけで、いつでもどのWebページ上でもErudaを呼び出せます。

javascript:(function(){var script=document.createElement('script');script.src='https://cdn.jsdelivr.net/npm/eruda';document.body.appendChild(script);script.onload=function(){eruda.init();};})();

使い方

  1. 調査・操作したいWebページを開きます。
  2. アドレスバーやブックマークから上記で作成した「Eruda」を実行します。
  3. 画面右下に歯車(またはレンチ)のアイコンが現れるのでタップします。
  4. 「Console」タブを開き、実行したいスクリプトを入力して「Execute」を押すだけで、PCコンソール同様の操作が可能です。

開発者ツールが使えるモバイルブラウザを活用する

頻繁にスマホ上でスクリプト実行やコード検証を行う場合、最初からデベロッパーツール機能や拡張機能に対応したブラウザアプリを使うのもおすすめです。

Kiwi Browser(Android向け)

ChromiumをベースにしたAndroid用ブラウザです。PC版Chromeとほぼ同等の「開発者ツール」が標準内蔵されており、メニューからワンタップでPC同様のDevTools(Elements, Console, Sources, Networkなど)を開くことができます。また、ChromeウェブストアからPC用の拡張機能を追加することも可能です。

Orion Browser(iOS向け)

iOS向けでありながら、本格的なWebインスペクタ機能を標準搭載しているブラウザです。ChromeやFirefoxの拡張機能(TampermonkeyやViolentmonkeyなど)も動作させることができ、高度なスクリプト実行環境が手に入ります。

Safari機能拡張・Userscripts(iOS Safari向け)

iOS 15以降のSafariではWeb拡張機能がサポートされています。App Storeで入手できる「Userscripts」や「Stay」などの拡張機能を導入すれば、指定したサイト訪問時に自動的、あるいはメニューから手動で任意のユーザースクリプト(JavaScript)を実行させることができます。

パソコンと連携した本格的なリモートデバッグ

開発現場でスマホの実機挙動をPCの大画面と物理キーボードで詳細にデバッグしたい場合は、USBケーブルで接続するリモートデバッグが最も確実です。

iPhone / iPadの場合(Mac Safari連携)

  1. iPhoneの「設定」>「アプリ」>「Safari」>「詳細」で「Webインスペクタ」をオンにします。
  2. iPhoneとMacをLightning / USB-Cケーブルで接続します。
  3. MacのSafariを開き、メニューバーの「開発」から接続したiPhoneの名前を選び、検証したいWebページを選択します。
  4. Macの画面上にフル機能のWebインスペクタが開き、実機を操作しながらPC側でコンソール実行やDOM修正が行えます。

Androidの場合(PC Chrome連携)

  1. Android端末の「設定」>「システム」>「開発者向けオプション」で「USBデバッグ」を有効にします。
  2. Android端末とパソコンをUSBケーブルで接続します。
  3. PCのChromeブラウザを開き、アドレスバーに chrome://inspect/#devices と入力します。
  4. Android側で開いているChromeのタブ一覧が表示されるので、対象ページの「inspect」をクリックします。

用途に合わせたおすすめの選び方

  • ちょっとした1行コードや定型処理の実行:ブックマークレット
  • スマホ単体でコンソール入力やDOM調査を行いたいとき:Eruda(ブックマークレット)
  • サイトごとにスクリプトを自動適用・拡張したいとき:拡張機能対応ブラウザ(Kiwi / Orion / Userscripts)
  • 本格的なレイアウト修正やネットワーク解析を行いたいとき:PC接続によるリモートデバッグ

まとめ

スマートフォンでも、ブックマークレットや「Eruda」のようなツールを活用することで、パソコンのデベロッパーツールと変わらない柔軟さでJavaScriptの実行やWebページの検証が行えます。

特に「Eruda」を読み込むブックマークレットをブラウザに1つ保存しておくだけで、いざというときにスマホ上で素早くコンソール操作やHTMLインスペクトができるようになるため、Web制作者やエンジニアには大変おすすめです。ぜひお試しください。