有没有办法使用浏览器控制台从用户那里获取数据

时间:2017-09-05 12:13:48

标签: javascript typescript

我想通过浏览器的控制台捕获用户的输入。 目前我使用JS的提示输入,如下:

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

但我希望通过控制台输入数据 有没有办法用Javascript或Typescript做到这一点?

修改

John Weisz给出了很好的答案,这通常会奏效,但它不能解决我的问题。

你看,用户将使用控制台输入一个数字字符串,我将存储到一个数组中并检查是否有重复...

然后将带有对象的重复项打印到控制台......

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

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

console.log(counts);

1 个答案:

答案 0 :(得分:2)

排序。您可以创建一个全局公开的API,用户可以在控制台中使用该API,例如:

var a;

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

然后,在浏览器控制台中,您可以输入:

  

cliApi.setValue(“hello world”)

之后将填充您的变量。

Fiddle here

注意,使用JSFiddle,您需要将控制台范围设置为result框架而不是top(您在开发工具中执行此操作),因为您的代码正在运行在一个框架内。如果您自己托管代码(而不是框架),则不需要这样做。