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

Chrome Extension如何让work flow在页面刷新、跳转继续执行任务

从Electron到Chrome Extension:流程自动化的跨平台探索

在之前的项目中,我使用Electron成功实现了一个流程自动化应用,它极大地提高了工作效率。然而,当面对Chrome扩展程序(Extension)的需求时,我意识到需要一种新的策略来应对浏览器环境下的限制。特别是Chrome Extension v3在background.js中不支持直接操作DOM,以及页面刷新可能中断正在执行的任务这两个问题,成为了我们需要解决的关键点。

挑战与限制

**background.js的限制:**在Chrome Extension v3中,background脚本无法直接操作DOM,这与Electron环境下的自由操作形成了鲜明对比。
**页面刷新的影响:**当浏览器页面刷新时,原先在执行的流程任务可能会被中断,这对于需要持续监控或执行的任务来说是一个严重的问题。

解决方案一:内容脚本(Content Script)的利用

对于第一个问题,解决方案相对简单。我们可以将流程任务的执行逻辑转移到content script中,因为content script可以直接与页面DOM进行交互。这样,我们就能够绕过background.js无法操作DOM的限制。。如下一个基本flow执行事件的封装。


function getDom(selector, timeout = 1000, frequency = 60) {let current = 0return new  Promise((resolve) => {const findEl = () => {current = current + 1console.log('current --- selector', selector, current)// const elDom = document.querySelector(selector)const elDom = document.evaluate(selector, document).iterateNext()if (elDom) {resolve(elDom)return}if (current > frequency) { console.log(`重复${frequency}次,没有找到`)resolve('')return}setTimeout(() => {findEl()
http://www.lryc.cn/news/386041.html

相关文章:

  • 数据库调优厂商 OtterTune 宣布停止运营
  • 4、面向对象-typescript
  • 大数据学习之分布式数据采集系统Flume学习
  • 谁用谁夸,为什么BI零售数据分析方案这么受欢迎?
  • 多路h265监控录放开发-(14)通过PaintCell自定义日历控件继承QCalendarWidget的XCalendar类
  • 安卓速度下载v1.0.5/聚合短视频解析下载
  • 从赛题切入谈如何学习数学建模
  • 江山欧派杯2024全国华佗五禽戏线上线下观摩交流比赛在亳州开幕
  • 怪兽充电一季度由盈转亏:营收大幅下滑,消费者投诉不断
  • 激光与相机融合标定汇总:提升融合算法的精度与可靠性(附github地址)
  • 市场拓展招聘:完整指南
  • Leetcode 501:二叉搜索树中的众数
  • esp8266 GPIO
  • ingress相关yaml文件报错且相关资源一切正常解决方法
  • 重要通知:据最新TEMU要求所有欧区车灯都需要能效标签(eu energy lable)
  • JAVA SDK 整合 AI 大语言模型
  • 【Apache Doris】如何实现高并发点查?(原理+实践全析)
  • 解决SpringMVC使用MyBatis-Plus自定义MyBaits拦截器不生效的问题
  • Swagger与RESTful API
  • MySQL84 -- ERROR 1524 (HY000): Plugin ‘msql_native_password‘ is not loaded.
  • 将Excel中的错误值#N/A替换成心仪的字符串,瞬间爱了……
  • AI大模型日报#0628:谷歌开源9B 27B版Gemma2、AI首次实时生成视频、讯飞星火4.0发布
  • 【随笔】提高代码学习水平(以更高的视角看事物)
  • 游戏AI的创造思路-技术基础-深度学习(5)
  • 基于SpringBoot养老院管理系统设计和实现(源码+LW+调试文档+讲解等)
  • 餐饮点餐的简单MySQL集合
  • STM32驱动-ads1112
  • 数据结构与算法高频面试题
  • uni-app的showModal提示框,进行删除的二次确认,可自定义确定或取消操作
  • 5款提高工作效率的免费工具推荐