我正在做一个项目。我在C#Windows窗体中使用CEFSharp(铬嵌入式框架)。我的解决方案中也有一个HTML网页。我正在将WebBrowser控件导航到该HTML页面。 HTML页面包含一个按钮。当用户单击HTML页面上的按钮时,如何调用C#函数?

最佳答案

我从CEFSharp wiki中获取了这段代码;希望这会对您有所帮助。

public class BoundObject
{
   public void OnFrameLoadEnd (object sender, FrameLoadEndEventArgs e)
    {
        if(e.Frame.IsMain)
        {
            browser.ExecuteScriptAsync(@"
             document.body.onmouseup = function()
             {
               bound.onSelected(window.getSelection().toString());
             }
            ");
        }
    }
    public void OnSelected(string selected)
    {
        MessageBox.Show("The user selected some text [" + selected + "]");
    }
}


初始化CEF对象后,注册JavaScript对象:

var obj = new BoundObject();
browser.RegisterJsObject("bound", obj);
browser.FrameLoadEnd += obj.OnFrameLoadEnd;

关于javascript - 通过单击WebBrowser控件中的按钮来调用C#函数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33965905/

10-12 13:06