怎样自动关闭JS的 alert对话框

miukyzhaog 2014-07-31 12:39:50
用Qwebview做了个浏览器,打开某网站的时候,出现JS的对话框,比如"欢迎访问本站"之类的信息
要怎么样才能自动关闭它呢?  
我试了几种方法都不行,可能是焦点问题吧

第一种:用QT的模拟键盘事件QKeyEvent 函数,发送回车键,但不起作用

第二种:用window API 的keybd_event 函数 ,同样是模拟发送回车键,仍然不起作用

这两种方法,在其它没JS弹窗的页面都可以模拟成功,所以我想,应该是alert对话框在搞鬼,阻塞了下面代码的运行

请求高手给个解决方案,焦头烂额了现在
...全文
531 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
miukyzhaog 2014-08-12
  • 打赏
  • 举报
回复
不管怎样,还是谢了!
WeiXiao_365 2014-08-01
  • 打赏
  • 举报
回复
引用 3 楼 txvvvzfv 的回复:
真的可以屏蔽了,这方法不错啊 对了,如果是JS的特效,要怎么屏蔽呢? 比如打开页面后,一个卡通小人在撒花之类的特效?? 希望再提供个方法啊,不胜感激!!
这个要复杂一些了,你需要用在qt里面调用网页的js,进行修改。目前,还不是很会。。。。。
txvvvzfv 2014-07-31
  • 打赏
  • 举报
回复
真的可以屏蔽了,这方法不错啊 对了,如果是JS的特效,要怎么屏蔽呢? 比如打开页面后,一个卡通小人在撒花之类的特效?? 希望再提供个方法啊,不胜感激!!
WeiXiao_365 2014-07-31
  • 打赏
  • 举报
回复
不好意思,这样就不会有JS弹出框了。后面这行webView->setPage()代码不知道怎么跑到帖子上的,没有作用,
WeiXiao_365 2014-07-31
  • 打赏
  • 举报
回复
可以把这个js弹窗给屏蔽掉。 1.从QWebPage派生一个你的YourWebPage类来。 2.重写 protected: bool javaScriptConfirm(QWebFrame * frame, const QString & msg); void javaScriptAlert(QWebFrame * frame, const QString & msg); bool javaScriptPrompt(QWebFrame * frame, const QString & msg, const QString & defaultValue, QString * result); 这三个方法,在里面,直接return什么都不做。 3.使用QWebView *webView = new QWebView(this); YourWebPage *page = new YourWebPage(webView ); webView->setPage(page); 这样就不会有JS弹出框了。 webView->setPage();
=============================================================================== 组件名称:消息提示组件 =============================================================================== 组件说明:用于替代系统默认的灰色对话框(alert等),提供丰富多彩的消息提示皮肤外观。 =============================================================================== 组件简介: 1、调用方式进行二次分装,现编写成类,然后将调用方法变成几个简单的方法调用,调用时无需new了。调用方法明了简单。 2、兼容IE6.0+、FF1.5+、Opear9+,兼容HTML4/XHTML1.0页面渲染模式。 3、支持CSS皮肤定制。目前提供了五种皮肤,Vista、QQ、dmm-green、ExtBlue和BlackColl。有兴趣可以修改样式表文件定义新的皮肤。 4、提供四种消息类型。分别为消息提示、成功信息、错误信息、询问信息。 5、弹出消息框时屏蔽页面其它元素的操作,自动隐藏页面select及iframe下select(无限级select隐藏),并遮罩iframe等元素。 6、页面select控件状态还原时保持原状态,即如果原来select就是隐藏的,则消息框弹出并关闭后该select仍保持隐藏状态,而只显示原本显示的select。 7、消息组件弹出时屏蔽除Tab和回车外的几乎所有键盘操作(包括F5),“消息确认框”支持“tab键/左右方向键”切换确定/取消焦点。 8、支持在iframe页面中弹出消息框时遮盖最外层页面(需引用扩展文件ymPromptEx.js)。 9、只要组件js与样式目录相对位置不变,无论将组件放在哪个文件夹中都只需正确引入js文件即可,组件会自动得到css的路径。
javascript完全自学手册 目 录 第1篇 JavaScript基础篇 第1章 JavaScript简介 1 1.1 JavaScript概述 1 1.1.1 什么是JavaScript 1 1.1.2 JavaScript的基本特点 2 1.1.3 常用的Web开发语言 3 1.2 JavaScript的应用 4 1.2.1 客户端应用 5 1.2.2 服务器端应用 5 1.3 在Web页面中使用JavaScript 5 1.3.1 HTML的基本结构 5 1.3.2 在HTML中嵌入JavaScript 7 1.3.3 链接JavaScript文件 9 1.4 编写JavaScript的工具 11 1.4.1 使用纯文本编辑器 11 1.4.2 使用专业化脚本编辑工具 13 1.4.3 使用Microsoft脚本编辑器 15 第2章 JavaScript编程基础 19 2.1 基础语法 19 2.1.1 数据类型 19 2.1.2 变量和常量 22 2.1.3 表达式 24 2.1.4 运算符 24 2.2 流程控制 27 2.2.1 条件语句 27 2.2.2 循环语句 30 2.2.3 其他语句 35 2.3 使用对话框 38 2.3.1 警告对话框 38 2.3.2 确认对话框 40 2.3.3 提示对话框 40 第2篇 JavaScript内置对象篇 第3章 JavaScript内置对象 43 3.1 JavaScript对象概述 43 3.1.1 对象的概念 43 3.1.2 使用JavaScript对象 基础知识 44 3.2 Array对象 46 3.2.1 创建Array对象 46 3.2.2 Array对象属性 47 3.2.3 Array对象方法 48 3.3 String对象 51 3.3.1 创建String对象 51 3.3.2 String对象属性 51 3.3.3 String对象方法 53 3.4 Math对象 56 3.5 Date对象 62 3.5.1 Date对象方法 62 3.5.2 使用Date对象 63 3.6 自定义对象 67 第4章 JavaScript常用对象 73 4.1 Document对象 73 4.1.1 Document对象概述 73 4.1.2 使用Document对象 75 4.2 Form对象及其元素 79 4.2.1 Form对象概述 79 4.2.2 表单元素 80 4.2.3 表单元素属性和事件 82 4.2.4 表单验证 85 4.3 Anchor与Link对象 89 4.3.1 Anchor对象 89 4.3.2 Link对象 90 4.4 Image对象 92 4.4.1 图像翻转 92 4.4.2 图像载入 92 第5章 JavaScript其他常用 窗口对象 96 5.1 Window对象 96 5.1.1 常用属性和方法 97 5.1.2 多窗口控制 100 5.2 Screen对象 103 5.3 Navigator对象 105 5.4 Location对象 107 5.4.1 常用属性和方法 107 5.4.2 Location对象的应用实例 109 5.5 History对象 112 5.5.1 常用属性和方法 112 5.5.2 History对象的应用实例 113 5.6 Frame对象 115 5.6.1 Frame对象概述 115 5.6.2 常用属性 116 5.6.3 Frame对象的应用实例 117 第6章 DOM对象 122 6.1 DOM概述 122 6.1.1 DOM简介 122 6.1.2 DOM与HTML文档 124 6.2 DOM对象 125 6.2.1 DOM基本接口 125 6.2.2 DOM基本对象 128 6.3 使用DOM 128 6.3.1 DOM基础 129 6.3.2 Node和NodeList接口 131 6.3.3 Element接口 134 6.3.4 Text接口和Attr接口 136 6.4 操作HTML文档 138 6.4.1 访问元素 138 6.4.2 添加节点 140 6.4.3 删除节点 142 6.4.4 对属性进行操作 146 第3篇 JavaScript高级编程篇 第7章 正则表达式 151 7.1 正则表达式及其作用 151 7.2 正则表达式参考语法 152 7.2.1 限定符 154 7.2.2 选择匹配符 157 7.2.3 分组组合

16,235

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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