【问题标题】:C# geckoFX (AutoJSContext not Wοrking)C# geckoFX(AutoJSContext 不工作)
【发布时间】:2014-10-02 14:24:43
【问题描述】:

我是新来的,希望对 C# 中的 geckoFX 有所帮助

所以我刚刚下载了 geckoFX 并做了以下操作。

  1. 已下载:geckofx.dll

  2. 下载:XULRunner

我成功添加了 geckofx 浏览器并且工作正常,但是当我尝试运行此代码以将 JavaScript 添加到页面时出现错误。

我得到的错误是:skybound.geckoFX.AutoJSContext 不包含评估脚本和 jscontext 的定义。

我也不知道这是否有帮助,但 AutoJSContext 和 EvaluateScript 没有突出显示。

这是我的代码

using System;
using System.Collections.Generic;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Windows.Forms;
using Skybound.Gecko;


namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        Skybound.Gecko.Xpcom.Initialize(@"C:\Program Files\xulrunner");
    }

    private void geckoWebBrowser1_DocumentCompleted(object sender, EventArgs e)
    {
        string outString = "";
        using (AutoJSContext java = new AutoJSContext(geckoWebBrowser1.Window.JSContext))
        {
            java.EvaluateScript(@"window.alert('alert')", out outString);
        }
    }
}

【问题讨论】:

  • 您使用的是什么版本的 geckofx?我猜,根据您使用的命名空间,它是一个旧的......
  • 它是最新的。
  • 你确定吗? Skybound 不再出现在命名空间中。 ? bitbucket.org/geckofx/geckofx-29.0/downloads
  • 嗨,汤姆,感谢您的快速回复,非常感谢。你的权利我没有使用正确的版本。我下载了它,但它不适合我。我做的第一件事是将 geckofx-core 和 geckofx-webforms 添加到我的参考文献中,效果很好。我尝试添加 Gecko.Xpcom.Initialize("C:\\myproject\\xulrunner"); ,当我调试它时,该项目无法运行我收到错误(无法在 DLL 'xul' 中找到名为 'NS_StringContainerInit' 的入口点。)你知道那可能是什么吗?有没有使用 geckofx 29 的示例项目?
  • bitbucket.org/geckofx/geckofx/wiki/Version_lists 源代码包含一个示例/测试项目。

标签: c# winforms forms window geckofx


【解决方案1】:

你应该像这样调用 EvaluateScript:

java.EvaluateScript(@"window.alert('alert')", (nsISupports)geckoWebBrowser1.Window.DomWindow, out result);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多