Qt开发:QWebEnginePage执行自定义JavaScript

runJavaScript方法

QWebEnginePage有一个方法runJavaScript,可以执行自定义的JavaScript代码。

它的原型如下:

void QWebEnginePage::runJavaScript(const QString &scriptSource, const std::function<void (const QVariant &)> &resultCallback);

void QWebEnginePage::runJavaScript(const QString &scriptSource, quint32 worldId = 0, const std::function<void (const QVariant &)> &resultCallback = {});

其中,scriptSource是QString类型的JavaScript源代码。

worldId其实是一个枚举,但是这里使用了quint32类型,因为2以上可以自定义,分成几种情况:

  • worldId是0(MainWorld),表示在全局作用域中,与网页本身的JavaScript共享同一上下文,可以与页面进行交互;
  • worldId是1(ApplicationWorld),表示在应用作用域中,只是注入应用逻辑,不会与原网页的JavaScript互相干扰;
  • worldId是2,以及多大的自定义值,每个都是一个自定义上下文。

比如可以直接修改页面标题:

page->runJavaScript("document.title = '新标题';", QWebEngineScript::MainWorld);

或者只添加一个应用按钮:

<
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值