在ie对话框中输入连接于通过网页点击打开网页有何不同

farcall 2011-03-02 12:53:19
我在写一个网站屏蔽系统的时候 发现可以屏蔽ie对话框输入的地址
但是如果通过一些导航等连接过来的地址 就起不到屏蔽的作用了

依www.baidu.com为例
ie输入地址流程大致是
www.baidu.com -> 我截获后停止

连接流程
www.baidu.com->我停止->about:blank->www.baidu.com

就是说我让其停止的时候并没有真正的停止而是转向导了空白页 然后又转向了www.baidu.com


我又如何才做才可做到屏蔽的作用呢
...全文
92 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
jwybobo2007 2011-03-02
  • 打赏
  • 举报
回复
拦截数据包,进行过滤,发现发送的数据请求是http,摒弃是屏蔽地址,则把返回的http响应数据过滤掉,替换成你自己的http响应,并增加Location地址,让它跳转成你自己的网址,或者干脆直接返回你自己的网页内容
farcall 2011-03-02
  • 打赏
  • 举报
回复
CComBSTR url = ((*pDispParams).rgvarg)[5].pvarVal->bstrVal;这个可以后的目标URL
那当前页的URL怎么获得?
farcall 2011-03-02
  • 打赏
  • 举报
回复
我是写的bho插件 而且也相应了DISPID_BEFORENAVIGATE2事件 但是DISPID_BEFORENAVIGATE2不能对新开窗口进行处理
后来我又相应DISPID_NEWWINDOW3事件 我在DISPID_NEWWINDOW3里解决了我上面的问题
但是由于逻辑上的关系 我需要搞清楚 需要打开的网址是新开窗口还是在非新开窗口
请问这可以判断吗
[Quote=引用 2 楼 muzizongheng 的回复:]

响应OnBeforeNavigate2 消息。
[/Quote]
muzizongheng 2011-03-02
  • 打赏
  • 举报
回复
响应OnBeforeNavigate2 消息。
farcall 2011-03-02
  • 打赏
  • 举报
回复
我希望不要创建新窗口 而是在目前的窗口中打开
wyx100 2011-03-02
  • 打赏
  • 举报
回复
CComBSTR url = ((*pDispParams).rgvarg)[5].pvarVal->bstrVal;这个可以后的目标URL
那当前页的URL怎么获得?

3,248

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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