[高分求解] Webbrowser 如何响应 ajax 事件?

macenjie 2009-12-06 06:24:12
当网页上有 ajax 事件时, webbrowser 的 documentcompleted 事件是无法响应的。
请问通过什么方法才能让 webbrowser 响应 ajax 异步完成的事件?
请高手指点,分不够可以加,谢谢!

P.S. 一定要基于 webbrowser,不要用到 timer
...全文
593 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
zkj0 2011-12-16
  • 打赏
  • 举报
回复
建议换个角度去处理,在c#直接处理webBrowser的ajax会很困难,比方说做AJAX时一般都会将通信结果在页面中表现出来,不去控制ajax的通信过程而是处理页面显示事件就容易的多了
jmjwin 2010-04-03
  • 打赏
  • 举报
回复
怎么看不到呀?
macenjie 2009-12-08
  • 打赏
  • 举报
回复
还没解决,只能顶一下了。
蒋晟 2009-12-07
  • 打赏
  • 举报
回复
得看网页ajax怎么写的
用IDispatchEx给window对象增加ajax调用的函数名相同的属性,属性类型是IDispatch
C#写这个比较麻烦,用C++比较容易
macenjie 2009-12-07
  • 打赏
  • 举报
回复
请大家关注下。在线等哦!
macenjie 2009-12-06
  • 打赏
  • 举报
回复
好像都不对,测试下来无法截获 ajax 事件
wuyq11 2009-12-06
  • 打赏
  • 举报
回复
ajax 是调用XMLHttpRequest来异步进行后台的通讯
只能获得ReadyState才判断
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
if (webBrowser1.ReadyState < WebBrowserReadyState.Complete || webBrowser1.Url.ToString() == LastUrl) return;
LastUrl = webBrowser1.Url.ToString();
}
public string LastUrl
{
get;set;
}


qqzeng-ip 2009-12-06
  • 打赏
  • 举报
回复
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
WebBrowser1.Navigate("about:blank")
While WebBrowser1.ReadyState <>WebBrowserReadyState .Complete
Application.Doevents()
wend
Dim doc As New Object
doc = WebBrowser1.ActiveXInstance
doc.document.designmode = "On"
End Sub

异步 加载完后再设置designMode为on
红街咖啡 2009-12-06
  • 打赏
  • 举报
回复

110,525

社区成员

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

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

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