webbrowser控件显示网页遇到页面内有关闭窗口脚本问题。

独醒子 2012-09-28 02:59:49
webbrowser 控件打开一页面。

此页面包含关闭当前页面的按钮
当点击此网页中关闭页面按钮,页面退出。

当再次访问webbrowser 控件时报句柄错误。

请问如何解决?
...全文
3103 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
JC_jiangchao 2012-10-15
  • 打赏
  • 举报
回复
在关闭事件中截取消息
并判断消息来源
然后根据需要处理。
完全可以实现
独醒子 2012-09-29
  • 打赏
  • 举报
回复
是可以截取到的,不过不是正常的WebBrower事件。
有人知道么?有正确答案就结贴
nm_wyh 2012-09-28
  • 打赏
  • 举报
回复
程序可以截取到WebBrower的关闭事件!
独醒子 2012-09-28
  • 打赏
  • 举报
回复
其实,如果网页中有执行关闭当前页面的脚本时候。
控件本身能获得一个事件就好了,
这样就知道这个控件已被删除了。也好尝试处理
kenlewis 2012-09-28
  • 打赏
  • 举报
回复
下载地址在这里:https://www.box.com/shared/4mqjq25e1y
kenlewis 2012-09-28
  • 打赏
  • 举报
回复
我的印象里,有一个叫EmbeddedWB的控件,是作为WebBrowser的替代品的,兼容WB的所有功能,但是又有所提升。比如你说的这个功能,在EmbeddedWB里,可以设置一个属性就屏蔽掉了,很方便的。
独醒子 2012-09-28
  • 打赏
  • 举报
回复
就是一般网站的弹出页面里,有时候都会包含一个关闭窗口的按钮。
关闭窗口无非就那么几种方法。

当在webbrowser控件中打开这种页面后,点击这个关闭按钮。

貌似会直接把这个控件搞没了。

而且,若一个程序中有多个webbrowser控件,其中一个被这种方法关闭后,delphi代码访问别的webbrowser 控件也会报错
比如
有2个webbrowser控件。
在web1中弹新窗口通过代码使之在web2控件中打开页面
这时候 点击web2控件中页面的关闭窗口按钮时,貌似web2控件消失了。
此时web1.BringToFront; 也会报错。
  • 打赏
  • 举报
回复
我是西医,不是中医,把脉水平不高……
  • 打赏
  • 举报
回复
什么网页,什么代码?

5,913

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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