web-dev-qa-db-ja.com

JavascriptコンソールからjsFiddleの変数にアクセスしますか?

次のコードで fiddle を作成しました。

var x=10;

これをコンソールで表示しようとすると、次のようになります。

> x
ReferenceError: x is not defined

コンソールを実行するにはJavascriptが必要なので、理にかなっています。これを機能させる方法はありますか?

33
Casebash

ChromeまたはChromiumを使用している場合は、開発者コンソールの下部を見て、文字列_<top frame>_が表示されます。それをクリックしてresult(fiddle.jshell.net)を選択します。ブラウザの現在のスコープを変更すると、すべてのグローバル変数にアクセスできます。また、var変数にもアクセスする場合は、jsFiddleの読み込みオプションを_no wrap_に変更することを忘れないでください。

Screenshot Chrome

更新:2014.12.01

Firefox(34+)と新しいFirefox Developer Editionでは、現在ターゲットになっているドキュメントとしてフレームを選択追加ツールを開発者ツールに有効にして、それをクリックして選択することで、同じことを行うことができます。 _http://fiddle.jshell.net/_display/_。

Screenshot Firefox

68
Ragnarokkr

コンソールは、_this === window_:コンソールで定義された変数のみが表示される独自のクロージャのようなものです(コマンド/スクリプトごと)。

したがって、コンソールに表示されるデータを公開するには2つの方法があります。

  1. var x = 5; console.log(x); // out of your code, not as console command
  2. _window.x = 5; // now x is global, so in console you get 5 for x._

純粋なコンソールコマンドの代わりに、デバッガーを使用できます。 firebugとchromeの開発ツールでは、ブレークポイントを設定し、ページを更新して(jsFiddleで実行する必要があります)、スコープ内の変数の実際の値を確認できます。 (コードをデバッガーに取り込むには、ページを1回リロードする必要があります。次にリロードすると、document.readyイベントでブレークポイントが取得されます。)

5
metadings