【发布时间】:2012-04-30 21:06:52
【问题描述】:
我有一个使用WebBrowser 控件的C# 应用程序。
在一个页面上,用户可以单击一个按钮来处理一些信息并导航到一个新页面。问题是当用户单击此按钮时,WebBrowser 似乎停止了。
我在我的代码中处理了Navigating、Navigated 和DocumentCompleted 事件,我看到了Navigating 事件,但没有别的。
这是被点击按钮的 HTML:
<div class="right button-wrapper">
<div class="clearfix right">
<span id="nextbutton"
class="button-link button-link btn-reg btn-blue-reg">
<span class="hasHover"><a id="btnPay"
href="javascript:void(0);" class="buttons">Next:Pay and Print</a>
</span>
</span>
</div>
</div>
可以毫无问题地点击其他页面上的按钮。
我假设它与 HTML 的 href="javascript:void(0);" 部分有关,但不知道为什么。在 IE 或 Firefox 等浏览器中,单击此按钮时会出现进度条之类的内容,并显示“处理中”几秒钟,然后加载下一页。
编辑:我应该提到导航处理程序触发两次,然后页面冻结。
【问题讨论】:
-
javascript:void(0) 告诉您的浏览器在单击链接时绝对不执行任何操作。可能应该有一些 JavaScript 将事件监听器添加到该链接。那个 JavaScript 是什么样子的?
-
@atornblad,感谢您的回复。我不拥有该网页,所以我不知道我可以获取 JavaScript(除非它嵌入在文档中?)。我可以查看页面的来源,如果有帮助,我可以提供。
-
您是否尝试过Debuging JavaScript in a WebBrowser,看看您是否可以看到 JavaScript 端发生了什么(如果有的话)?
-
@atornblad,我相信这是 JavaScript 停止加载的部分: if(this.validate() === true){ self.modal.openOverlay(); self.modal.openOverlayProgress(); ce.checkoutForm.submit();这是在进行了一些验证之后。谢谢。
标签: c# javascript .net winforms webbrowser-control