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

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

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

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

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

请求高手给个解决方案,焦头烂额了现在
...全文
614 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用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();

16,816

社区成员

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

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