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);
或者只添加一个应用按钮:
<
最低0.47元/天 解锁文章
2400

被折叠的 条评论
为什么被折叠?



