c# - 如何使用 GeckoFX 作为 XULRunner 的包装器在 javascript 中调用 C# 方法

标签 c# javascript geckofx

我在我的项目中使用 GeckoFX16xulrunner-16.0.2.en-US.win32。 问题是,我想在 javascript 中调用 C# 方法。

我很好奇,有没有办法做到这一点?

如下所示:

C#部分:

private GeckoWebBrowser weBrowser;
    public browser()
    {
        InitializeComponent();
        Gecko.Xpcom.Initialize("xulrunner");
        weBrowser = new GeckoWebBrowser();
        weBrowser.Parent = this;
        weBrowser.Dock = DockStyle.Fill;
        weBrowser.Navigate("test.html");
    }

    public string loadData(){
        //load data from local file.
        return str;
    }

javascript部分:

<script type='text/javascript'>
    var data = window.loadData();
    alert(data);
</script>

我是这方面的新手,如果可能的话,我将不胜感激!

最佳答案

重要更新:

当前带有 event.initMessageEvent 的代码不起作用,因为此构造已被替换为

var event = new MessageEvent('yourEventName', { 'view': window, 'bubbles': false, 'cancelable': false, 'data': 'some data' });

关于c# - 如何使用 GeckoFX 作为 XULRunner 的包装器在 javascript 中调用 C# 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15710581/

相关文章:

javascript - 为什么我不能在 querySelectorAll 的结果上使用 map?

javascript - 听后退按钮会使其停止工作

javascript - 将 nsIDOMHTMLSelectElement 作为函数参数传递会导致异常

c# - 如何在部分类的另一半中定义的属性上使用属性?

c# - 唯一 EventId 生成

c# - geckofx webbrowser不在Windows窗体c#中播放音频

c# - 如何在 geckofx 中获取 iframe 地址?

c# - xulrunner,C# : how to change html?

c# - 如何获取windows用户名

c# - 使用 Windows Phone 7 媒体播放器在页面之间共享媒体播放