一个难题:获得将要打开网页的地址?多多捧场!

beantong 2000-08-17 10:59:00
我使用CHtmlView创建浏览器,在其中加入OnNewWindow()事件,当有新窗口打开时,触发此事件,可以设置打开或不打开新窗口,但我同样需要获得将要打开新窗口的地址,这可怎么办呢?
...全文
222 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
beantong 2000-08-28
  • 打赏
  • 举报
回复
我在程序中是不知道新浏览器所要打开的Url地址的,将一个空的浏览器窗口指针传给ppDisp,会有作用吗?
sungang 2000-08-21
  • 打赏
  • 举报
回复
首先生成新的浏览器窗口,然后将新窗口指针传递给ppDisp
beantong 2000-08-18
  • 打赏
  • 举报
回复
那我如何获得将要打开网页的地址,要是在同一个浏览器中到没有问题,但如果链接中加入target="blank",打开新的浏览器,我又如何获得新浏览器的地址。因为对于某些链接可能是对应脚本的,用OnBefortNavigate2取到的也是对应的脚本内容,不能直接使用。
bmw2of4 2000-08-17
  • 打赏
  • 举报
回复
OnBeforeNavigate2()是先于OnNewWindow()事件发生的,如果OnBeforeNavigate2对应的地址是一个JavaScript脚本,那我又怎么办呢?我直接使用JavaScript作为地址是不成的。
U皮特U 2000-08-17
  • 打赏
  • 举报
回复
在CHtmlView的OnBeforeNavigate2中可以得到将打开的URL的地址,保存下来该地址,在OnNewWindow事件中使用即可。
sungang 2000-08-17
  • 打赏
  • 举报
回复
ppDisp是你自己从CHtmlView派生出的视类的IDispatch指针,和网页地址没有任何关系。
beantong 2000-08-17
  • 打赏
  • 举报
回复
msdn上说,ppDisp是指向新网页的指针,我想通过ppDisp获得新网页的网页地址,可试了半天也没成功,不知道有没有实现的可能。
sungang 2000-08-17
  • 打赏
  • 举报
回复
ppDisp是当前的webbrowser的指针。如果设置不对,系统将启动ie

beantong 2000-08-17
  • 打赏
  • 举报
回复
看样子我的想法错了。那在OnNewWindow2(LPDISPATCH* ppDisp, BOOL* Cancel)中的ppDisp所指向的又是什么呢?
sungang 2000-08-17
  • 打赏
  • 举报
回复
网页的地址只能在下载结束之后得到,因为使用rdirect/动态网页技术将使得请求地址和实际地址不一样。
在网页下载结束后调用CHtmlView的函数即可。

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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