1

C ++アプリケーションに埋め込まれたSpiderMonkeyを使用して、JavaScriptコードからすべての文字列を抽出したいと思います。JavaScriptコードは次のようになります。

var foo = "something";  
var space = " ";  
var bar = foo + space + "beautiful";  

C++コードは次のようになります。

char *script = "var foo = \"something\"; var space = \" \"; var bar = foo + space + \"beautiful\";";
ok = JS_EvaluateScript(cx, global, script, strlen(script), filename, lineno, &rval);

だから私の質問は、SpiderMonkeyがJavaScriptを実行した後、変数バーから文字列を抽出して(抽出された値は「何か美しい」はずです)、通常のC ++コードで使用するにはどうすればよいですか?最初にスクリプトを評価してから、JavaScript変数から文字列を抽出する必要があると思います。SpiderMonkeyを使用して文字列を抽出する方法がわかりません。

私の2番目の質問:
http
://siliconforks.com/doc/parsing-javascript-with-spidermonkey/ このSpiderMonkeyJavaScriptパーサーはSpiderMonkey1.6用に書かれています。解析用のAPIが変更されたため、最新のSpiderMonkeyでこれをどのように行うことができますか?

事前にThnx、
ゴラン

4

2 に答える 2

0

barはグローバル オブジェクトのプロパティであるため、JS_EvaluateScript() の後に、次のような JS_GetProperty() 関数を使用できます。

JS_GetProperty(cx, global, "bar", &rval);
JSString *str = JS_ValueToString(cx, rval);
printf("%s\n", JS_EncodeString(cx, str));
于 2011-08-31T16:41:26.347 に答える
-1

subStringのような文字列操作関数を確認してください。クエリを解決するために使用できます。

于 2011-08-31T08:45:51.507 に答える