当前位置: 首页 > news >正文

什么是网站托管厦门百度竞价

什么是网站托管,厦门百度竞价,wordpress菜单栏图标,某公司网站建设策划书在之前的文章中,我们介绍了Qt WebEngine注入js的用法,及runJavaScript()的用法,该方法主要是用在页面加载完成后,为了和网页做一些交互时使用。有时候需要监听网页加载完成的一些状态或信息,则需要网页加载前注入js来实…

在之前的文章中,我们介绍了Qt WebEngine注入js的用法,及runJavaScript()的用法,该方法主要是用在页面加载完成后,为了和网页做一些交互时使用。有时候需要监听网页加载完成的一些状态或信息,则需要网页加载前注入js来实现。这需要用到我们今天要介绍的内容WebEngineScript。

QWebEngineScript

QWebEngineScript支持在加载Web内容期间,在JavaScript引擎中的不同点(由InjectionPoint决定)编程注入所谓的用户脚本。

变量描述
QWebEngineScript::DocumentCreation2该脚本将在文档创建后立即执行。这不适用于任何 DOM 操作。
QWebEngineScript::DocumentReady1一旦 DOM 准备就绪,脚本就会运行。这相当于DOMContentLoadedJavaScript 中的事件触发。
QWebEngineScript::Deferred0该脚本将在页面加载完成时或文档准备就绪后 500 毫秒运行(以先到者为准)。
变量描述
QWebEngineScript::MainWorld0页面的 Web 内容所使用的环境。在某些情况下,它可以用于向 Web 内容公开自定义功能。
QWebEngineScript::ApplicationWorld1用于用 JavaScript 实现的应用程序级功能的默认隔离世界。
QWebEngineScript::UserWorld2如果应用程序未使用更多环境,则用户设置脚本使用的第一个隔离环境。根据经验,如果向应用程序用户公开该功能,则每个单独的脚本可能都应该有自己的隔离环境。

代码说明

    QWebEngineScript script;script.setWorldId(QWebEngineScript::MainWorld);script.setInjectionPoint(QWebEngineScript::DocumentCreation);script.setRunsOnSubFrames(true);script.setSourceCode("alert(11111111111)");QWebEngineView *view  = new QWebEngineView(this->centralWidget());view->page()->scripts().insert(script);view->resize(this->width(), this->height());view->setUrl(QUrl("https://www.baidu.com/"));

该代码在程序加载之前弹窗提示,由于弹窗是模态阻塞的,所以页面是还没显示的,点OK之后页面就正常显示了。

WebEngineScript

WebEngineScript是QML中的用法,和QWebEngineScript类似。实现代码如下

    WebEngineView {id: webviewanchors.fill: parenturl: "https://www.bilibili.com/"Component.onCompleted: {console.log("onCompleted")var script = WebEngine.script()script.injectionPoint = WebEngineScript.DocumentCreationscript.worldId = WebEngineScript.MainWorldscript.sourceCode = "alert(222222222222)"webview.userScripts.insert(script)}}

在WebEngineView组件创建完成是注入js,因为我们要在页面加载完成之前注入,所以不用等到loading完成的时候注入。这个代码的效果和上面是一样的,也是页面加载完成之前弹窗提示。

应用

该用法主要用于拦截页面某些请求的时候使用,由于QWebEngineUrlRequestInterceptor拦截器只能获取到url,无法获取到请求头和body,所以只能通过js脚本进行拦截获取,使用页面加载前注入js的方式使得全局生效。不过后续的Qt版本也逐步在放开拦截的内容,Qt6.5QWebEngineUrlRequestInterceptor支持获取请求头,Qt6.7支持获取body,如果能够使用最新的Qt版本,那会方便很多。

http://www.yayakq.cn/news/701730/

相关文章:

  • 互联网时代的营销首页排名优化公司
  • 企业门户网站设计方案住房和城乡建设部关于资质延期
  • 做网页收集素材常用的网站有哪些谷歌关键词搜索排名
  • 云服务器做网站新手教程给人做网站多少钱
  • 网站加产品分类福建网站建设有限公司
  • 做地方旅游网站目的意义wordpress过滤显示插件
  • 长春网站制作机构高校专业建设五大要素
  • 网站专题策划案例建设网站的步骤seo
  • 旅游网站如何做推广深圳网站设计公司 网络服务
  • 做淘宝的网站有哪些内容wordpress字段插件
  • 娱乐视频直播网站建设做一名网站编辑要具备什么资格
  • 12306的网站建设宜昌网站seo公司
  • 昆山快速建设网站方案产品广告设计
  • 镇海区建设交通局网站进不去了自己建设网站容易吗
  • 滨州网站建设 远洋科技网站 后台 回车不了
  • 上海网站建设公司推荐排名建站页面
  • 网站不良正能量直接进入西安百姓网免费发布信息网招聘
  • .aspx网站开发pdf个人介绍的网页设计模板
  • 医疗网站搭建wordpress 文章预览
  • 网站跳转域名不变做网站图片的大小
  • 做网站横幅价格项目网站开发js放的位置
  • 叫企业做的网站可不可以自己改主题云南网站建设招商
  • 电商网站如何存储图片本地建设网站软件
  • wordpress网站搜索引擎仙居制作网站
  • 网站制作案例流程图重庆招标信息网
  • 后台给网站做关键字网站建设与管理属于什么部门
  • 龙岗模板网站建设室内设计师联盟论坛
  • 模板网站怎么做网站开发需要经过的几个主要阶段
  • 网站改域名审核时间企业微信怎么下载
  • 阿里云虚拟主机可以做几个网站南京网站开发