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

前端之家收集整理的这篇文章主要介绍了如何使用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类型(如果对任何人都很重要).

猜你在找的jQuery相关文章