Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在fennec中获取当前选项卡的jscontext?_Javascript_Fennec - Fatal编程技术网

Javascript 如何在fennec中获取当前选项卡的jscontext?

Javascript 如何在fennec中获取当前选项卡的jscontext?,javascript,fennec,Javascript,Fennec,我正在构建一个定制版本的Firefox Fennec,当用户选择一些菜单时,我想向当前选项卡注入一些javascript 我认为JS::Evaluate(jsContext、jsOptions、scriptSrc、scriptlength和retValue)可以做到这一点,但我不知道哪一个是jsContext的正确参数 (我得到了当前选项卡的nsCOMPtr domWindow,但这会有帮助吗?下面的代码正在工作:) nsCOMPtr globalObject=do_QueryInterface

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

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

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

下面的代码正在工作:)

nsCOMPtr globalObject=do_QueryInterface(domWindow);
如果(!globalObject)中断;
nsresult rv=globalObject->ensurecriptenvironment();
如果(NS_失效(rv))断裂;
nsCOMPtr context=globalObject->GetScriptContext();
如果(!context)中断;
mozilla::dom::AutoEntryScript entryScript(globalObject,true,context->GetNativeContext());
JSContext*cx=entryScript.cx();

你把这个放在哪一类?
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();