我正在构建一个自定义版本的 Firefox Fennec,当用户选择了一些菜单时,我想向当前选项卡注入一些 javascript。
我认为 JS::Evaluate(jsContext, jsOptions, scriptSrc, scriptlength, &retValue) 可以做到这一点,但我不知道哪一个是 jsContext 的正确参数。
(我得到了当前选项卡的 nsCOMPtr domWindow,但这有帮助吗?)
我正在构建一个自定义版本的 Firefox Fennec,当用户选择了一些菜单时,我想向当前选项卡注入一些 javascript。
我认为 JS::Evaluate(jsContext, jsOptions, scriptSrc, scriptlength, &retValue) 可以做到这一点,但我不知道哪一个是 jsContext 的正确参数。
(我得到了当前选项卡的 nsCOMPtr domWindow,但这有帮助吗?)
下面的代码正在工作:)
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();