在Chtmlview中,浏览多frame的框架的网页,有时点击按钮,这时只会触发OnDownloadBegin,而不会触发OnBeforeNavigate2,这时如何确定浏览


OnDownloadBegin()没有传进来的参数,这时我如何知道浏览器转向的url?

7 个解决方案

#1


怎么会呢?每个frame的navigate动作都会触发OnBeforeNavigate2;
实在不行实现这个接口IDocHostUIHandler,其中他的TranslateUrl在每次navigate之前都会被调用。

#2


比如我通过按钮,调用javascritps,然后通过javascripts更新网页数据就不会调用了!!

#3


通过Ajax得到的数据不会触发。因为它没有让IE(mshtml.dll)来load数据,而是通过msxml.dll来得到数据的。这个是没办法的事儿。

#4


哦,那如何能检测到是哪个frame数据更新了呢?至少在downloadcomplete中有响应,但是无法知道是那个frame呀

#5


downlaodcomplete函数会有一个参数,是具体frame的一个Dispatch接口指针,用这个指针能query到某个frame的IWebBrowser2接口,这就确定了是哪个frame

#6


DocumentComplete中会有Dispatch接口指针,但是downlaodcomplete是没有的!所以不能确定啊

#7


嗯,抱歉疏忽了。
实在不行实现这个接口IDocHostUIHandler,其中他的TranslateUrl在每次navigate之前都会被调用。

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2020 ITdaan.com