社区
网络编程
帖子详情
老问题:自编的CHtmlView浏览器,怎么截获超连接,不让新窗口在IE中打开?
yikai123
2007-01-21 12:55:10
折腾了好几天了,也发现之前有人遇到过这个问题,但是却没有找到切实可行的解决方案!
下面是我找到的比较权威的一种办法:
在 CHtmlView::OnNewWindow2 里面创建一个新的 WebBrowser,并把新的 WebBrowser 的 IDispatch 接口指针传过去。
可现在的问题是:怎么样获取要打开的新窗口的URL呢??
我快被折腾疯了,求大牛赶紧帮帮忙啊~~
十万火急啊!!!!
多谢多谢!!
...全文
777
14
打赏
收藏
老问题:自编的CHtmlView浏览器,怎么截获超连接,不让新窗口在IE中打开?
折腾了好几天了,也发现之前有人遇到过这个问题,但是却没有找到切实可行的解决方案! 下面是我找到的比较权威的一种办法: 在 CHtmlView::OnNewWindow2 里面创建一个新的 WebBrowser,并把新的 WebBrowser 的 IDispatch 接口指针传过去。 可现在的问题是:怎么样获取要打开的新窗口的URL呢?? 我快被折腾疯了,求大牛赶紧帮帮忙啊~~ 十万火急啊!!!! 多谢多谢!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
14 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
xiangzhang321
2012-07-13
打赏
举报
回复
目前我也遇到这个问题 请LZ贴代码 谢谢
牛 魔 王
2012-06-18
打赏
举报
回复
mark
j2ee1220
2010-07-20
打赏
举报
回复
自己弄懂了,要把代码贴出来分享一下啊。否则其他人看了跟没看一样。
蒋晟
2007-01-22
打赏
举报
回复
handle NewWindow2 to create a new window, and handle BeforeNavigate2 in the new window to get the URL
yikai123
2007-01-22
打赏
举报
回复
已经按照蒋晟大哥的方法搞定了!在同一个CHtmlView中处理NewWindow2函数,生成新的CHtmlView,并在OnBeforeNavigate2()实现新窗口URL的获取,并在原有的View中显示.
多谢各位的帮助!:)
yikai123
2007-01-22
打赏
举报
回复
jiangsheng(蒋晟)老大,您的回复我在别的地方也看到了,但是这个方法具体怎么实施实在是不得而知啊!请老大给点更详细的指点啊!多谢
yikai123
2007-01-22
打赏
举报
回复
Sangel():能不能留个email??我的是pkuyikai@gmail.com,这里不能粘贴附件,我们mail交流吧
Juchiyufei
2007-01-22
打赏
举报
回复
:)
学习了。
Sangel
2007-01-22
打赏
举报
回复
哦,,忘了我用的是atl
反正你在Invoke里看到DISPID_NEWWINDOW3事件就处理就是了,具体看msdn
Sangel
2007-01-22
打赏
举报
回复
SINK_ENTRY_INFO(0, DIID_DWebBrowserEvents2, DISPID_NEWWINDOW3, &OnNewWindow3, &NewWindow3Info)
void WINAPI OnNewWindow3(IDispatch ** ppDisp, VARIANT_BOOL* Cancel, DWORD dwFlags, BSTR bstrUrlContext, BSTR bstrUrl)
OnNewWindow3一定要设*Cancel = TRUE,否则就真弹窗了
那个bstrUrl就是新窗口url
Sangel
2007-01-21
打赏
举报
回复
在新的WebBrowser里获取
yikai123
2007-01-21
打赏
举报
回复
您说的这个有代码吗??可否用简单的CHtmlView代码给个示例?
我找了一下,发现在实现BHO的时候才会涉及到Invoke函数,那么在CHtmlView中应该如何生成这个函数,从而处理DISPID_NEWWINDOW3事件呢??
多谢啊!!
Sangel
2007-01-21
打赏
举报
回复
用DISPID_NEWWINDOW3这个事件,里面会传递新窗口url给你
yikai123
2007-01-21
打赏
举报
回复
新的webbrowser里根本没有跟弹出的新窗口建立联系,获取不到我所要的URL的~
自编
的C
Html
View
浏览器
,怎么
截获
超
连接
,
不让
新窗口
在IE
中
打开
本文探讨了如何在自定义的C
Html
View
浏览器
中
拦截并处理
超
链接点击事件,防止链接在IE
中
新开窗口。通过分析提供的讨论链接和技术文档,本文总结了一系列解决方案和技术要点。
【MFC】在C
Html
View
中
在同一窗口显示新
打开
页面
本文介绍使用MFC单文档、IE核心做的简单
浏览器
,为让新页面在本程序显示尝试两种方法。方法1是重载C
HTML
View
::OnNewWindow2,但在2345.com网站部分情况失效;方法2是添加C
HTML
View
::NewWindow3,网上部分实现虽不调用IE,但本程序也无法
打开
新窗口
,还给出相关步骤及参考链接。
在C
Html
View
中
指定IE版本
本文介绍了解决VS2010/VS2017
中
C
Html
View
使用IE7内核导致不支持
HTML
5元素(如canvas)的
问题
。通过在
HTML
5头部加入
标签指定IE版本或使用Edge模式,使应用能正确渲染
HTML
5内容。
C
Html
View
OnNewWindow3
本文介绍如何在MFC
中
扩展C
Html
View
类以支持NewWindow3事件,并通过实现IServiceProvider和INewWindowManager接口来拦截和控制
浏览器
窗口的
打开
。
使用C
Html
View
制作
浏览器
的简单记录
本文详细记录了在开发简易
浏览器
过程
中
遇到的
问题
及解决方法,包括基本功能实现、链接
打开
方式、错误处理、地址栏设计、页面加载进度、窗口大小调整、页面缩放等功能。此外,还介绍了如何在XP系统上运行VS2012生成的文件以及一些优化技巧。
网络编程
18,357
社区成员
64,165
社区内容
发帖
与我相关
我的任务
网络编程
VC/MFC 网络编程
复制链接
扫一扫
分享
社区描述
VC/MFC 网络编程
c++
c语言
开发语言
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章