0

https://github.com/gf3/sandbox#readmeを使用していますが、このサンドボックスを介してコードから JavaScript コードにデータを渡す方法がわかりません。例えば

var s = new sandBox();
s.run("(function(name) { return 'Hi there, ' + name + '!'; })('Fabio')", function(output) {
    console.log("Example 2: " + output.result + "\n")
})

この関数にデータを渡したいのですが、どうすればよいですか?

4

1 に答える 1

1

引数を渡すきれいな方法はありません。ただし、とにかくコードを文字列として渡すため、引数を文字列に直接追加するだけです。

var arg = 'Hello';
var code = "(function(name) { return 'Hi there, ' + name + '!'; })("+ JSON.stringify(arg) +")"
s.run(code, ...);

JSON.stringify文字列が有効な JS 式であることを確認するために使用しています。

于 2012-06-14T12:40:12.347 に答える