在Webbrowser控件中捕获Javascript警报
使用webbrowswer控件巡航网站。 有时会发生错误,其中包含一个javascript弹出框。 发生这种情况时,我想做几件事。
- 知道何时弹出javascript警报。
我已经使用LostFocus事件取得了一些成功,但任何时候丢失焦点都会导致代码运行起来很烦人。
- 我想知道警报框所说的确切文字。
我不知道在哪里可以找到警报框对象或将其转换为在C#中使用。 我看着整个互联网,却找不到它。
任何一个线索?
如果您只想捕获出现的脚本错误对话框,我建议您捕获window.onerror DOM事件。 如果为此事件分配处理程序,则消息,(脚本)文件名和行号将作为参数传递,这些都是弹出的错误对话框中显示的内容。 请注意,大多数用户默认关闭脚本错误对话框,因此如果预期目的是针对大量受众,则明智地遵守此选项。
我不确定是否有更简单的方法,我只使用旧的COM WebBrowser组件。
这样做:
window.alert = function(txt) { // Do something }
这将允许您使用警报文本进行回调或其他任何操作。