如何使用InvokeScript()从.NET WebBrowser控件调用jQuery函数?

一个使用Webbrowser控件(.NET 4)的Windows窗体应用程序加载与该应用程序通信的网页.我曾调用InvokeScript()来在网页中调用Javascript例程.

现在事情已经“更新”了,现在正在使用jQuery.因此,不是要调用OnVenueSelected()函数,而是现在有些$.city.venue.onVenueSelected:function(param)oddity.

简单地将我的调用从InvokeScript(“OnVenueSelected”,新对象[] {params})更改为InvokeScript(“$.city.venue.onVenueSelected”,新对象[] {params})不起作用.我没有得到任何可观察的错误或异常,但是没有调用调用中的逻辑.

一些挖掘让我尝试使用eval作为调用并将函数名称和参数作为字符串传递给eval.那也行不通.

有没有一种已知的方法调用嵌入在几层jQuery魔法中的函数

谢谢.

解决方法

好的 – 我可以回答我自己的问题.部分谢谢你在 How to call a jQuery function from .NET WebBrowser control using InvokeScript()?的答案,我能够改变我对jQuery函数调用
string[] codeString = { String.Format(" {0}('{1}') ",@"$.city.venue.onVenueSelected",result.ToString()) };
this.mybrowser.Document.InvokeScript("eval",codeString);

令人惊讶的是,这似乎有效.

在我的例子中,结果变量是bool类型(如果对任何人都很重要).

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...