How to call C# method in javascript by using GeckoFX as the wrapper of XULRunner

Howard picture Howard · Mar 29, 2013 · Viewed 9.8k times · Source

I am using GeckoFX16 and xulrunner-16.0.2.en-US.win32 in my project. The thing is, I want to call a C# method in javascript.

I am curious, is there a way to do this?

Just like below:

C# part:

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 part:

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

I am new in this area, I’ll appreciate if it is possible!

Answer

Ilya picture Ilya · Aug 5, 2015

Important update:

Currently code with event.initMessageEvent does not work because this construction has been replaced on

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