我正在使用 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/