0

我正在构建一个自定义版本的 Firefox Fennec,当用户选择了一些菜单时,我想向当前选项卡注入一些 javascript。

我认为 JS::Evaluate(jsContext, jsOptions, scriptSrc, scriptlength, &retValue) 可以做到这一点,但我不知道哪一个是 jsContext 的正确参数。

(我得到了当前选项卡的 nsCOMPtr domWindow,但这有帮助吗?)

4

1 回答 1

0

下面的代码正在工作:)

nsCOMPtr<nsIScriptGlobalObject> globalObject = do_QueryInterface( domWindow );
if (!globalObject) break;
nsresult rv = globalObject->EnsureScriptEnvironment();
if (NS_FAILED(rv)) break;
nsCOMPtr<nsIScriptContext> context = globalObject->GetScriptContext();
if (!context) break;

mozilla::dom::AutoEntryScript entryScript(globalObject, true, context->GetNativeContext());
JSContext *cx = entryScript.cx();
于 2015-05-18T03:15:28.040 回答