qt webview与js交互(网页里的弹出窗口不响应js接口)

本文介绍了如何在Qt中使用QWebView与JavaScript进行交互,特别是当网页弹出新窗口时如何确保JS接口仍然可以访问。通过设置QWebSettings、连接信号槽以及在frame创建时绑定对象,可以实现无论页面刷新还是新frame打开,都能正确调用JavaScript方法。
摘要由CSDN通过智能技术生成

步骤:

QWebView *pWebView = new QWebView();

pWebView->load(QUrl(yourHtml));

//yourHtml 为网址或本地资源地址,如果放在qt资源里则html地址前要加qrc:前缀。

pWebView->page()->settings()->setAttribute(QWebSettings::JavascriptEnabled,true);

//QWebSettings::JavascriptEnabled   Enables or disables the running of JavaScript programs. This is enabled by default

pWebView->page()->mainFrame()->addToJavaScriptWindowObject("bound",this);

//bound在html文件中设定。

connect(pWebView->page()->mainFrame(),SIGNAL(javaScriptWindowObjectCleared()),this,SLOT(slot_AddObjectToJs()));

//If you intend to add QObjects to a QWebFrame using addToJavaScriptWindowObject(), you should add them in a slot connected to this signal. This ensures that your objects remain accessible when loading new URLs.

...

void slot_A

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值