微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用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类型(如果对任何人都很重要).

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐