【问题标题】:CreateGlobalJavascriptObject issues创建全局 Javascript 对象问题
【发布时间】:2015-03-22 00:27:57
【问题描述】:

我尝试在我的应用程序中使用 CreateGlobalJavascriptObject,但遇到了问题。代码:

WebCore.Initialize(WebConfig.Default);
webControl.Source = new Uri("file:///res/login.html");
webControl.Update();
JSObject myGlobalObject = webControl.CreateGlobalJavascriptObject("object");

输出:Awesomium.Windows.Forms.dll 中的 System.AccessViolationException。

之后我尝试将 webView.CreateGlobalJavascriptObject("object"); 放在默认的 Awesomium WinForms 示例项目中:

    public WebForm()
    {
        WebSession session = InitializeCoreAndSession();
        InitializeComponent();
        InitializeView( WebCore.CreateWebView( this.ClientSize.Width, this.ClientSize.Height, session ) );
        webView.CreateGlobalJavascriptObject("object");
    }

输出:Awesomium.Core.dll 中的 System.NullReferenceException。

我该如何解决这些问题?

【问题讨论】:

    标签: javascript c# winforms exception awesomium


    【解决方案1】:

    answers.awesomium.com 已经回答了同样的问题。我也会在这里发布答案,以便对其他人有所帮助:

    您必须等到框架加载完毕。使用 IWebView.LoadingFrameComplete 事件:

    webView.LoadingFrameComplete += OnLoadingFrameComplete;
    

    您的事件处理程序可能类似于:

    private void OnLoadingFrameComplete(object sender, FrameEventArgs e)
    {
       JSObject myGlobalObject= webControl.CreateGlobalJavascriptObject("myObject");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-29
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 2015-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多