首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用AutoJSContext和GeckoFX 29.0 VB.NET时的Xpcom错误

使用AutoJSContext和GeckoFX 29.0 VB.NET时的Xpcom错误
EN

Stack Overflow用户
提问于 2016-03-07 17:57:31
回答 1查看 416关注 0票数 0

我在AutoJSContext中使用了AutoJSContext 29.0,当我启动我的应用程序时,它会给出以下错误:

代码语言:javascript
复制
Xpcom.Initialize must be called before using of any xulrunner/gecko-fx services

我知道在调用AutoJS之前必须初始化Xpcom,但是在我的代码中,XPcom(xullrunner)是在名为"GeckoFxError“的子程序之前初始化的

代码语言:javascript
复制
Sub New()
        InitializeComponent()

        Gecko.Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner")
        Gecko.GeckoPreferences.Default("extensions.blocklist.enabled") = False
        Timer1.Enabled = True
    End Sub
    Sub New1()
        Dim _memoryService = Xpcom.GetService(Of nsIMemory)("@mozilla.org/xpcom/memory-service;1")
        _memoryService.HeapMinimize(False)
    End Sub

    Private Sub GeckoFXerror(sender As Object, e As Gecko.JavascriptErrorEventArgs) Handles GeckoWebBrowser1.JavascriptError
        Dim text As String = "window.alert = function(){};"
        Dim text2 As String = "window.confirm = function(){};"
        Dim text3 As String = "window.open = function(){};"
        Dim text4 As String = "window.prompt = function(){};"
        Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext)
            Dim result As String = ""
            context.EvaluateScript(text, result)
        End Using
        Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext)
            Dim result As String = ""
            context.EvaluateScript(text2, result)
        End Using
        Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext)
            Dim result As String = ""
            context.EvaluateScript(text3, result)
        End Using
        Using context As AutoJSContext = New AutoJSContext(GeckoWebBrowser1.Window.JSContext)
            Dim result As String = ""
            context.EvaluateScript(text4, result)
        End Using
    End Sub

谢谢你的帮助,我认为这很容易解决,但我已经一个多小时没有找到任何解决办法了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-12 09:56:38

将您的Gecko.Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner")放在调用InitializeComponent()之前,它应该可以工作。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35850624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档