有没有办法使用浏览器的控制台从用户获取数据
我想通过浏览器的控制台捕捉用户的输入。 目前我得到的输入使用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);
排序您可以创建一个全球公开的API,用户可以从控制台使用,例如:
var a;
window.cliApi = {
setValue: function (value) {
a = value;
},
getValue: function() {
return a;
}
}
然后,在浏览器控制台,您可以键入:
cliApi.setValue(“世界你好“)
之后您的变量将被填充。
注意,与的jsfiddle,你将需要设置控制台范围的result
框架,而不是top
(你做这里面你的开发工具),作为你的代码框架内运行。如果你自己托管你的代码(而不是从一个框架),这不是必需的。
我希望我不要求太多,但是如果用户通过控制台输入数据,那么您将如何将它保存在一个变量中,以便您可以使用它,就像上面提到的提示一样? – prius
@prius当然,这没什么大不了的,你可以简单地分配给一个变量,而不是做一个'alert'。但是请注意,您的变量将不会被调用_until_'cliApi.setValue'被调用。也就是说,你不能直接调用'console.log(a)',而只调用_after_'cliApi.setValue'。 –
哪个控制台? Chrome或命令行? – Amit
由于浏览器控制台是一个REPL工具,我的猜测是“不,不可能”。 –
通过Chrome控制台... – prius