2017-09-05 26 views
1

我想通過瀏覽器的控制檯捕捉用戶的輸入。 目前我得到的輸入使用JS的提示,像這樣:有沒有辦法使用瀏覽器的控制檯從用戶獲取數據

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

但我想通過控制檯輸入的數據。
有沒有辦法用Javascript或Typescript做到這一點?

編輯

約翰·薇茲給了很好的回答,這通常會工作,也不會與我的問題的工作。

你看,用戶會使用控制檯輸入我將存儲到一個數組,並檢查重複一串數字......

然後打印這些副本與對象到控制檯...

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(「世界你好「)

之後您的變量將被填充。

Fiddle here

注意,與的jsfiddle,你將需要設置控制檯範圍的result框架,而不是top(你做這裏面你的開發工具),作爲你的代碼框架內運行。如果你自己託管你的代碼(而不是從一個框架),這不是必需的。

+0

我希望我不要求太多,但是如果用戶通過控制檯輸入數據,那麼您將如何將它保存在一個變量中,以便您可以使用它,就像上面提到的提示一樣? – prius

+0

@prius當然,這沒什麼大不了的,你可以簡單地分配給一個變量,而不是做一個'alert'。但是請注意,您的變量將不會被調用_until_'cliApi.setValue'被調用。也就是說,你不能直接調用'console.log(a)',而只調用_after_'cliApi.setValue'。 –

相關問題