webBrowser如何监听和截获网页上的异步通信呢.

diamondTears1987 2011-12-11 04:01:44
我用webBrowser加载了一个页面,并执行一些命了,比如向文本框赋值,并点击确定按钮.然后我再去调用下一个页面进行分析.
但是这个页面定义了onunload事件,只要网页一退出,就会调用一个异步的请求,然后向网站后台发出退出信息,我现在想阻止他在网页退出的时候,向后台发出退出信息,我该怎么做,我可以拦截掉异步发送给指定页面的信息吗?
...全文
806 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
diamondTears1987 2011-12-11
  • 打赏
  • 举报
回复
高手,满分[Quote=引用 5 楼 fangxinggood 的回复:]
添加 Microsoft.mshtml.dll

估计不同版本.net会有不同,下面代码在.net 4.0测试通过


C# code
var htmlDoc = (IHTMLDocument3)webBrowser1.Document.DomDocument;
HTMLHeadElement head = htmlDoc.getElementsByTagName("head"……
[/Quote]
diamondTears1987 2011-12-11
  • 打赏
  • 举报
回复
我引用了mshtml.dll但是mshtml.IHTMLDocument3这个接口找不到Cast<HTMLHeadElement>().First()这个函数接口..[Quote=引用 5 楼 fangxinggood 的回复:]
添加 Microsoft.mshtml.dll

估计不同版本.net会有不同,下面代码在.net 4.0测试通过


C# code
var htmlDoc = (IHTMLDocument3)webBrowser1.Document.DomDocument;
HTMLHeadElement head = htmlDoc.getElementsByTagName("head"……
[/Quote]
fc0953200202 2011-12-11
  • 打赏
  • 举报
回复
我也找这个,呵呵,谢谢大家啦
机器人 2011-12-11
  • 打赏
  • 举报
回复
添加 Microsoft.mshtml.dll

估计不同版本.net会有不同,下面代码在.net 4.0测试通过

 var htmlDoc = (IHTMLDocument3)webBrowser1.Document.DomDocument;
HTMLHeadElement head = htmlDoc.getElementsByTagName("head").Cast<HTMLHeadElement>().First();
var script = (IHTMLScriptElement)((IHTMLDocument2)htmlDoc).createElement("script");
script.text = "window.onunload=function() {}";
head.appendChild((IHTMLDOMNode)script);

webBrowser1.Navigate("http://bbs.csdn.net");
diamondTears1987 2011-12-11
  • 打赏
  • 举报
回复
尝试了第一种方法,不好使,
第二种方法,只能执行在 HTML 页面中定义的动态脚本函数,不能自己添加函数进去.[Quote=引用 3 楼 fangxinggood 的回复:]
试试:
WebBrowser1.Navigate("javascript:function(){ window.onunload=function(){}; }");

或者

查查 WebBrowser1.InvokeScript
[/Quote]
机器人 2011-12-11
  • 打赏
  • 举报
回复
试试:
WebBrowser1.Navigate("javascript:function(){ window.onunload=function(){}; }");

或者

查查 WebBrowser1.InvokeScript
diamondTears1987 2011-12-11
  • 打赏
  • 举报
回复
这个页面不是我做的,我是加载另一个网站的页面,我要如何才能把我的js加载上呢[Quote=引用 1 楼 fangxinggood 的回复:]
用 js 重写 windows.onunload = function() { };
[/Quote]
机器人 2011-12-11
  • 打赏
  • 举报
回复
用 js 重写 windows.onunload = function() { };

111,094

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧