2

Python から Javascript プログラムを実行するために PyV8 を使用しています。「document.write」の実行に問題がありましたが、ここで解決策を見つけました (Mock Document を使用): 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) (DOS ライン コマンド) の値を入力するように要求するところで停止し、次のプロンプトまで評価を再開する必要があります。よろしくお願いします。

4

2 に答える 2

2

Python 関数を JavaScript コンテキストに挿入するのは、実際には非常に簡単ですJSContext.locals。オブジェクトを介してその関数をローカル変数に割り当てます。

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

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

そして突然、Python で行うのとまったく同じように、JavaScript からその Python 関数を使用できるようになります。

通常はドキュメントにリンクしますが、適切な MIME タイプのPyV8 ドキュメントはどこにもないようです。

于 2012-06-12T13:34:14.187 に答える
1

PyV8に関数がない場合は、引用した例でオブジェクトをprompt()追加するのと同じ方法で関数を追加できます。document

于 2012-06-05T19:16:15.953 に答える