2017-09-05 5 views
1

ブラウザのコンソールからユーザーの入力を取得したいと考えています。ブラウザのコンソールを使用してユーザーからデータを取得する方法はありますか?

var a = prompt("Enter your numbers").split(","); 
console.log(a); 

しかし、私は、データがコンソールから入力されたい: は現在、私はそうのように、JSのプロンプトを使用して入力を取得します。
JavascriptまたはTypescriptでこれを行う方法はありますか?

EDIT

ジョン・ワイズが、これは動作し正常になり、それは私の問題では動作しません良い答えを与えました。あなたは、ユーザーが

次にコンソールにオブジェクトとそれらの重複を印刷する...私は配列に格納し、重複をチェックする数字の文字列を入力するには、コンソールを使用する参照

...

var a; 
window.cliApi = { 
setValue: function (value) { 
a = value; 
} 
} 
var counts = {}; 

a.forEach(function(x){ 
counts[x] = (counts[x] || 0) +1; }); 

console.log(counts); 
+0

どのコンソール? Chromeやコマンドライン? – Amit

+2

ブラウザコンソールはREPLツールなので、私の推測は「不可能」です。 –

+0

Chromeコンソール経由で... – prius

答えて

2

あなたは、たとえば、ユーザーがコンソールから使用できるグローバル公開APIを作成することができます。

var a; 

window.cliApi = { 
    setValue: function (value) { 
     a = value; 
    }, 
    getValue: function() { 
     return a; 
    } 
} 

次に、ブラウザのコンソールで、次のように入力することができます

cliApi.setValueを( "Hello Worldの")

その後、変数に値が設定されます。

Fiddle here

JSFiddleでは、コードがフレーム内で実行されているので、コンソールスコープをtopの代わりにresultフレームに設定する必要があります(これは開発ツール内で行います)。自分でコードをホストする場合(フレームからではなく)、これは必須ではありません。

+0

私はあまり尋ねていないことを願っていますが、ユーザがあなたが変数に保存する方法を説明した方法でコンソールからデータを入力すれば、上で書いたようにプロンプ​​トを使用することができます。 – prius

+0

@prius確かに、大したことではなく、単に「警告」を出すのではなく変数に割り当てることができます。しかし、あなたの変数には、 'cliApi.setValue'が呼び出されるのを待っています。つまり、 'console.log(a)'をすぐに呼び出すことはできませんが、_after_cliApi.setValueだけが呼び出されました。 –

関連する問題