使用WebKit.NET从JavaScript调用C#函数

前端之家收集整理的这篇文章主要介绍了使用WebKit.NET从JavaScript调用C#函数前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我一直在c#win表单项目中使用webkit.net,并且喜欢在C#程序中调用 JavaScript函数是多么容易:

browser.Document.InvokeScriptMethod(“functionName”,new object [] {“parameter1”,“parameter2”});

现在问题是如何以相反的方式执行此操作…是否有某种事件侦听器可以侦听javascript函数调用,或者通过webkit浏览器中运行的JavaScript调用c#方法

我正在使用糟糕的黑客攻击的方式…看看可用的事件监听器,我连接到TitleChanged事件,并在html中读取隐藏输入字段的值…这真的很糟糕,需要一个实际的解决方案.

提前致谢,
– 格雷格

解决方法

public Form1()
    {
        InitializeComponent();
        webKitBrowser1.Navigating += new WebBrowserNavigatingEventHandler(Form1_Navigating);
    }


    private void Form1_Navigating(object sender,WebBrowserNavigatingEventArgs e)
    {
        string url = e.Url.ToString();
        if (url.IndexOf("app://") > -1)
        {
            e.Cancel = true;
            processRequest(url);
        }
    }@H_502_16@ 
 

这可能无法通过你的Ugly Hack测试,但它是一种处理来自.net嵌入式浏览器的请求的古老方法.基本上,您在浏览器中拦截URL GET请求.如果URL包含关键字(例如app://),则取消GET并处理URL参数.返回值,传统上通过调用导航方法来完成,但是,使用您在帖子中描述的方法,您可以直接调用javascript函数.

猜你在找的JavaScript相关文章