在 GeckoFX 29.0 中使用 AutoJSContext 时出现 Xpcom 错误 VB.NET

Xpcom error when using AutoJSContext with GeckoFX 29.0 VB.NET

我将 GeckoFX 29.0 与 AutoJSContext 一起使用,当我启动我的应用程序时,出现以下错误:

Xpcom.Initialize must be called before using of any xulrunner/gecko-fx services

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

的 Sub 之前初始化
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

感谢您的帮助,我认为这很容易解决,但我已经一个多小时没有找到任何解决方案

在调用 InitializeComponent() 之前输入你的 Gecko.Xpcom.Initialize(Environment.CurrentDirectory + "/xulrunner") 应该可以。