怎么知道用户刷新了IE的页面?

shines77 高级软件工程师  2005-06-02 03:14:04
也许我这个问题有点白痴:

写一IE的工具栏Dll,如果知道用户刷新了页面,而不是敲入网址进行浏览

IE提供的接口真难用。。。
...全文
207 点赞 收藏 15
写回复
15 条回复
boyplayee 2005年08月03日
有这么多高手,晚辈来搬板凳了
回复 点赞
蒋晟 2005年07月22日
我写了个测试程序,在刷新本地计算机上的测试页时没捕获到DownloadBegin
回复 点赞
SW_Badboy 2005年07月22日
刷新不会有BEFORENAVIGATE2但有DOWNLOADCOMPLETE,还有TITLECHANGE,如果上次网址相同时,还满足DOWNLOADCOMPLETE,TITLECHANGE条件时为刷新事件,没办法,我也只是用这个方法搞定的,如果有更好的方法提出来哦
回复 点赞
shines77 2005年06月28日
对不起,我也很久没有看代码了,是我说错了,是下面这个意思

You will then see what is called and when from Internet Explorer. IE never calls BeforeNavigate2() or DocumentComplete() on a page refresh. (Bad IE...)

当你刷新的时候,主文档不会调用BeforeNavigate2()事件,也收不到主文档的DocumentComplete()事件
回复 点赞
goodboyws 2005年06月28日
即使空白页,也可以收到DownloadBegin
回复 点赞
goodboyws 2005年06月28日
呵呵,我做这些东西是在一年,现在真还是有点记不得了:),不过我试了一下,"弄简单的网页,就打几个字,刷新页面",还真是收到DownloadBegin,老大!!做人不要太固执!!!
回复 点赞
shines77 2005年06月27日
肯定是不可以,DownloadBegin是当IE下载任何一个网页元素的时候都调用了,包括下载图片,

而且刷新的时候主文档不会触发这个事件
回复 点赞
shines77 2005年06月27日
你自己弄简单的网页试试,就打几个字,不要图片,不要任何其他东西,你刷新页面看看,能收到DownloadBegin事件吗?

http://www.codeproject.com/internet/detecting_the_ie_refresh.asp
也提到了这个问题,他正是利用了这个特性来达到判断刷新的,不过这种的方法在页面没有正常下载完毕时,判断是有问题的

IE刷新的意思就是,主文档的HTML代码不必下载第二次,刷新只是刷新里面的元素,比如图片, Flash,iframe,Object等等,这些东西才会重新下载,所以它们才会触发DownloadBegin事件(除了主文档的以外)
回复 点赞
goodboyws 2005年06月27日
刷新的时候主文档不会触发DownloadBegin??不对吧
回复 点赞
goodboyws 2005年06月24日
DownloadBegin是否可以
回复 点赞
shines77 2005年06月09日
自己顶一下
回复 点赞
shines77 2005年06月03日
自己顶一下
回复 点赞
shines77 2005年06月03日
就像那篇文章里说的一样,按刷新按钮,IE窗口的主文档是不会重新下载的,只下载里面的子元素和子窗体,不过要是页面是一个asp动态网页,他也不会不重新下载吧。。。或者他重下了,却不激发主文档的BeforeNavigate2() 和 DocumentComplete() 事件。

我也想说一句(Bad IE.....)
回复 点赞
shines77 2005年06月03日
看了一下,那个代码和我的想法差不多,但是有个问题,当页面没有下载完成之前点刷新,是探测不到的,比如你用他的程序打开一个news.sina.com.cn(页面比较大,很久才完成)或者www.csdn.net(总有一个文件未完成,一直在下),这种情况下,好像束手无策,因为页面下载中途刷新,那些页面和Object的计数器无法清零(关键就在这了,如果中途中知道该清零了那我就知道是刷新了,计数器就没有必要了,汗。。。)

我再想想。。。。
回复 点赞
蒋晟 2005年06月03日
http://www.codeproject.com/internet/detecting_the_ie_refresh.asp
回复 点赞
发动态
发帖子
HTML/XML
创建于2007-09-28

2460

社区成员

8070

社区内容

VC/MFC HTML/XML
社区公告
暂无公告