Please note, this is a STATIC archive of website developer.mozilla.org from November 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

コマンドラインインタプリタ

Web コンソールのコマンドラインで、JavaScript の構文を即座に評価することができます。

式を入力する

式の入力方法は、コマンドラインに入力して Enter を押下するだけです。複数行の式を入力する場合は、Enter の代わりに Shift+Enter を使用します。

入力した式をメッセージ表示ウィンドウにエコー出力して、その後に結果を出力します:

Firefox 47 の新機能

Firefox 47 より、Enter を押下したときに入力が完了していないと思われる場合は、Shift+Enter として扱い、入力を完了できるようになりました。

例えば、以下のように入力します:

function foo() {

そして Enter を押下すると、コンソールは直ちに入力内容を実行せずに Shift+Enter を押下したかのように動作しますので、関数定義の入力を完了できます。

変数にアクセスする

ページで定義している変数にアクセスすることができ、window のように組み込み済みの変数と jQuery のように JavaScript で追加した変数のどちらでも可能です:

オートコンプリート

コマンドラインにオートコンプリート機能があります。最初の数文字を入力すると、考えられる完成形を示すポップアップを表示します:

候補を受け入れるには Enter または Tab を押下します。また上/下矢印キーで別の候補へ移動できます。どの候補も望まない場合は入力を続けてください。

コンソールは、現在実行中のスタックフレームのスコープから候補を提示します。これにより関数内でブレークポイントに当たった場合は、関数内のローカルオブジェクトもオートコンプリートの対象になります。

配列要素向けのオートコンプリート候補も表示します:

変数を定義する

独自の変数を定義したり、その変数にアクセスしたりできます:

コマンド履歴

コマンドラインは、あなたが入力したコマンドを覚えています: 上下矢印キーで、履歴を行き来できます。

Firefox 39 より、この履歴はセッションをまたいで維持するようになりました。履歴をクリアするには、clearHistory() 支援コマンドを使用してください。

iframe で作業する

ページにインラインフレームを埋め込んでいる場合は、cd() コマンドで特定のインラインフレームにコンソールのスコープを切り替えることができます。また、インラインフレームで表示しているドキュメントで定義した関数を実行できます。cd() でインラインフレームを選択する方法は 3 通りあります:

インラインフレームの DOM 要素を渡すことができます:

var frame = document.getElementById("frame1");
cd(frame);

インラインフレームにマッチする CSS セレクタを渡すことができます:

cd("#frame1");

インラインフレームの window グローバルオブジェクトを渡すことができます:

var frame = document.getElementById("frame1");
cd(frame.contentWindow);

トップレベルの window にコンテキストを戻す場合は、引数を与えずに cd() を呼び出してください:

cd();

例えば、インラインフレームを埋め込んだドキュメントがあるものとします:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
  </head>
  <body>
    <iframe id="frame1" src="static/frame/my-frame1.html"></iframe>
  </body>
</html>

インラインフレームで新たな関数を定義しています:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <script>
      function whoAreYou() {
        return "I'm frame1";
      }
   </script>
  </head>
  <body>
  </body>
</html>

以下のようにしてコンテキストをインラインフレームに切り替えることができます:

cd("#frame1");

グローバル window の document がインラインフレームであることがわかります:

また、インラインフレーム内で定義した関数を呼び出すことができます:

支援コマンド

Web コンソールの JavaScript コマンドラインでは、いくつかの作業を簡単に行うための支援機能を内蔵しています。

$()
CSS のセレクタ文字列を探索して、最初にマッチした要素を返します。これは document.querySelector() と等価です。または、$ 関数がページ内に存在する場合はそれを呼び出します。
$$()
CSS のセレクタ文字列を探索して、マッチした DOM ノードのリストを返します。これは document.querySelectorAll() のショートカットです。
Firefox 41 より、このメソッドは document.querySelectorAll() のショートカットではなくなり、代わりに要素の配列を返します。
$0
ページ内で現在調査されている要素です。
$_
Firefox 39 の新機能。コンソールのコマンドラインで最後に実行した式の結果を保持します。例えば "2+2 <enter>" と入力した後に "$_ <enter>" と入力すると、コンソールは 4 と出力します。
$x()
XPath の構文を評価して、マッチするノードの配列を返します。
keys()
オブジェクトを与えると、そのオブジェクトのキー (またはプロパティ名) の一覧を返します。これは Object.keys のショートカットです。
values()
オブジェクトを与えると、そのオブジェクトの値の一覧を返します。これは keys() と対をなすものです。
clear()
コンソールの出力エリアをクリアします。
inspect()
オブジェクトを与えると、そのオブジェクトのオブジェクトインスペクタを開きます。
pprint()
指定された値を、読みやすい形式に整形します。これはオブジェクトや配列の内容をダンプするのに役立ちます。
help()
ヘルプを開きます。実際は再帰の面白い例として、このページへ案内します。
cd()
JavaScript の評価を行うコンテキストを、ページ内の別の iframe に切り替えます。iframe での作業をご覧ください。
copy()
Firefox 38 の新機能。 引数で指定したものをクリップボードにコピーします。引数が文字列である場合は、そのままコピーします。また引数が DOM ノードである場合は、ノードの outerHTML をコピーします。他の値である場合は引数に対して JSON.stringify を呼び出して、その結果をコピーします。
clearHistory()
Firefox 39 の新機能。一般的なコマンドラインと同様に、コンソールのコマンドラインも過去に入力したコマンドを覚えています。この関数を実行すると、コンソールのコマンドラインの履歴を消去します。
コンテンツからログを出力する機能について、詳しくは Console API をご覧ください。

ドキュメントのタグと貢献者

 このページの貢献者: yyss
 最終更新者: yyss,