将 GeckoFX DOM 元素传递给 JavaScript 导航调用
使用 GeckoFX Web 浏览器,是否可以像这样通过 JavaScript 传递 GeckoElement,
WebBrowser.Navigate("javascript:void("+ele.DomObject+".onclick())");
我通过 JavaScript 选择 DOM 元素(这很好)atm,但我在 c# 中有该元素。
using GeckoFX web browser, is it possible to pass a GeckoElement through JavaScript like this,
WebBrowser.Navigate("javascript:void("+ele.DomObject+".onclick())");
I'm selecting the DOM element through JavaScript (this works fine) atm, but i have the element in c#.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不幸的是元素不能像这样传递给 javascript。
但是,WebBrowser.Navigate 调用是不必要的,并且会导致不必要的页面变量丢失。
为了完整起见,我发布了一个片段 - 在此场合冗长;) - 注入 javascript,然后通过 Button.click() 处理程序从自动按钮单击调用它,而不需要导航浏览器来运行它全部。
我不确定这个代码片段会直接帮助您,因为它主要集中于使用 GFXe 控件的构建,但是,我相信它会为您指明比
WebBrowser.Navigate("javascript:hack.goesHere()"); 更好的方向;诡计。
Unfortunately elements can't be passed to javascript like that.
However, the WebBrowser.Navigate call is unnecessary and causes an unneeded loss of page variables.
For the sake of completeness I've posted a snippet - long winded for this occasion ;) - that injects javascript and then calls it from an automated button click via a button.click() handler without the need to navigate the browser to run it all.
I'm not sure this snippet will help you, directly, as it's mainly focused on using the GFXe build of the control but, I'm sure it will point you in a better direction than the
WebBrowser.Navigate("javascript:hack.goesHere()"); trick.
您可以通过以下方式执行此操作:
You can do this with the following: