javascript - 从 Python 执行提示 Javascript

标签 javascript python prompt

我正在使用 PyV8 从 Python 执行 Javascript 程序。我在执行“document.write”时遇到问题,但在这里找到了解决方案(使用模拟文档):Executing Javascript from Python

现在,我面临着另一个问题。我想从 python 执行提示命令 javascript。结果的效果应该像一个简单的python raw_input。我举个例子:

var a, b, c, d;
prompt(a);
c = a
prompt(b);
c = c + b
d = a * b
document.write(c)
document.write(d)

使用 PyV8,该脚本的评估应该评估第一行,在提示(a)处停止,要求我引入 a(DOS 行命令)的值,然后恢复评估直到下一个提示,依此类推。 提前致谢。

最佳答案

将 Python 函数注入(inject) JavaScript 上下文实际上非常简单 - 您可以通过 JSContext.locals 对象将该函数分配给局部变量:

ctx = PyV8.JSContext()
ctx.enter()
ctx.locals.prompt = raw_input

ctx.eval('var a = prompt("js> ");')

突然之间,您可以从 JavaScript 中使用该 Python 函数,就像在 Python 中一样。

我通常会链接到文档,但是 PyV8 documentation似乎在任何具有正确 MIME 类型的地方都不可用。

关于javascript - 从 Python 执行提示 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10870160/

相关文章:

javascript - Nodejs/Javascript动态间隔

javascript - 在 AngularJS 中自动创建服务实例(无延迟加载)

python - 使用 python wand 对图像进行灰度化

java - 如何在没有 main 函数的情况下从命令提示符运行 JUnit 测试

javascript - 在对象数组中查找包含对象数组中的子对象的值

javascript - Vertex 和 Vector3 在 Three.js 中不可互换

python - 将 ISO A 系列纸张尺寸转换为 C 系列(信封)的公式

python - django 在一个字段中多个更新日期

ruby - 是否可以将 IRB 提示配置为动态更改?

user-interface - 用 UI 对话框替换提示