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

标签 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);

最佳答案

有点。您可以创建一个全局公开的 API,用户可以从控制台使用该 API,例如:

var a;

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

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

cliApi.setValue("hello world")

之后您的变量将被填充。

Fiddle here .

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

关于javascript - 有没有办法使用浏览器的控制台从用户那里获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46054734/

相关文章:

javascript - 在 express handlebars 中配置文件扩展名

javascript - 如何对数组进行分类,使其返回组合这些自然数的最大整数结果

javascript - 表单 javascript 提交事件

JavaScript - 为什么我的函数不能容纳超过几个字符的内容?

javascript - Typescript 中的 Intersection Observer 在 useRef 中抛出错误

javascript - 测试未导出的 TypeScript 函数

angular - 通过 Angular 中的工厂打开通用注入(inject)

javascript - 如何使用 Ajax 调用特定 Controller 操作?

javascript - Angular 拖放表单构建器

javascript - 如何在 Angular2 的模板指令中使用 html?