如何让我的 Chrome 扩展程序只注入一次脚本?

2023-11-21

我在用着程序化注入仅在单击浏览器操作时将我的扩展程序的代码注入页面。

这就是我的扩展中的内容活动页面(根据中的示例文档):

chrome.browserAction.onClicked.addListener(function callback(tab){
  chrome.tabs.executeScript(null, {file: "content-script.js"});
});

然而,这种工作方式是注入脚本每次单击该按钮。

如何更改它,以便在后续按下按钮时不会注入脚本 - 以便将其插入只是第一次单击该页面上的按钮?


在您的内容脚本中放置一个全局变量来判断内容脚本是否已被执行。

if (something) { return; }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何让我的 Chrome 扩展程序只注入一次脚本? 的相关文章

随机推荐

  • Go:从两个字符或其他字符串之间检索字符串

    举例来说 我有一个字符串 如下所示 h1 Hello World h1 Go 代码能够提取什么Hello World 从那个字符串 我对 Go 还比较陌生 任何帮助是极大的赞赏 如果字符串看起来像whatever START extract
  • 如何命名物理学中大写的 Haskell 变量

    haskell中的变量名需要小写 但是 如果我们想存储 如何在 hs 文件中声明变量g 9 8 和G 6 67300 10 11 在以下情况下 物理学家通常提到 1 地球重力加速度 g 9 8 m 秒 2 2 万有引力常数 G 6 6730
  • Oracle 中的按位异或

    In SQL服务器我一直在使用 符号 但这似乎不起作用Oracle 如何进行按位互斥OR在甲骨文中 来自文档 function bitor p1 number p2 number return number is begin return
  • 有用于隐写术的 Java 库吗? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我所说的库是指可供使用的 jar 发行版 Image 隐写术就足够了 使用 JPEG PNG 和 BMP 也足够了 谷歌没有产生任何可用的结果 主要
  • 在线程中调用 SHGetFileInfo 以避免 UI 冻结

    在我们使用的 NET 4 0 应用程序 WPF 中SHGetFileInfo获取目录树的外壳图标 由于在某些情况下这需要相当长的时间 例如 对于无法访问的网络驱动器或软盘驱动器 我们希望在线程中执行此操作 然后在读入图标后更新图标 调用基本
  • 在 Fortran 中比较两个字符串

    比较两个字符串的正确方法是什么abc and bcd取决于字母顺序 是否有内置命令可以执行此操作 或者会 gt or lt 工作没有任何问题吗 内在关系运算符 lt and lt 以及 等于 和 大于 朋友 确实可以用于比较字符变量 我们看
  • 集团加入 EF Core 3.1

    我正在尝试在 EF core 3 1 中分组加入它返回的问题 处理 LINQ 表达式 DbSet 失败 这可能表明 EF Core 中存在错误或限制 我的代码是这样的 var employees await from enrollment
  • TableView 页脚随表格滚动

    我刚刚在 tableView 的页脚中实现了一个 加载更多 按钮 但页脚始终随表格滚动 我的tableView的样式是UITableViewStylePlain 请你告诉我哪里出了问题 UIView tableView UITableVie
  • 谷歌云消息安全

    公司创建一个项目并接收发件人 ID 公司创建一个应用程序 烘焙其发件人 ID 并将该应用程序放置在商店中 攻击者对应用程序进行逆向工程 并提取发送者 ID 和用于接收 GCM 注册 ID 的服务器接口 攻击者创建自己的应用程序 嵌入公司的发
  • 从本地范围返回值?

    在我们的代码库中遇到这样的代码 这让我很担心 int foo int a Forward declaration int baz int result int a dosomestuff foo a 0 1 return result 这段
  • 如何设置WCF测试客户端在每次服务运行时运行

    我有一个 WCF 项目 当我运行它时 有时会启动 WCF 测试 有时则不会 如何设置 WCF 测试客户端始终显示 MLF 答案中的链接确实包含很好的信息 绝对值得一读 然而 我花了一段时间才找到我正在寻找的具体答案 大约在页面的中间 如果在
  • 如何将 create-react-app 与 Spring Boot 一起使用?

    我正在尝试将 ReactJS 应用程序与使用 Spring Boot 构建的 API 一起提供 我已经运行了脚本create react app在 public 上 如下面的结构所示 但是 当我尝试从 ReactJS 访问它时 所有相对路径
  • 在单行中打印不带括号的列表

    我有一个Python列表 例如 names Sam Peter James Julian Ann 我想在一行中打印数组 而不使用普通的 names Sam Peter James Julian Ann print names 输出如下 Sa
  • 在反应中插入光标

    我需要在插入符 当前光标位置 处插入文本React 控制文本区域 如自动完成 对于普通文本区域 我使用了以下代码 insertAtCursor function myField myValue IE if document selectio
  • 如何将 AKSequencer 连接到 AKCallbackInstrument?

    我想读取 MIDI 文件并在触发音符事件时显示内容 我发现了这个 stackoverflow 问题 其中第二个答案建议使用 AudioKit 如何为我的音频应用程序获得可靠的计时 更准确地说 建议使用 AKSequencer 吸收应用程序中
  • ios 11 导航栏重叠状态栏

    在 ios 11 中 导航栏与状态栏重叠 如果有人遇到同样的问题 请提供帮助 不确定这是否是同样的问题 但我们在升级到 iOS 11 时也遇到了这个问题 See ios 11 自定义导航栏位于状态栏下方 我们手动将导航栏高度设置为 64 并
  • Spring MVC JavaConfig webapp 中的“错误页面”配置? (没有 web.xml)

    我将如何使用 Java 配置向 Spring MVC Web 应用程序添加 错误页面 类型配置 没有 web xml
  • Apache Flink - 如果 x 分钟内没有收到数据,则发送事件

    如何使用 Flink 的 DataStream API 实现一个运算符 以便在一段时间内没有从流中接收到数据时发送事件 这样的运算符可以使用ProcessFunction DataStream
  • 第一个实体框架 6 nonquery 的六秒预热时间

    从我的集成测试来看 Act Stopwatch w new Stopwatch w Start userService Create userDTO w Stop public void Create UserDTO userDTO var
  • 如何让我的 Chrome 扩展程序只注入一次脚本?

    我在用着程序化注入仅在单击浏览器操作时将我的扩展程序的代码注入页面 这就是我的扩展中的内容活动页面 根据中的示例文档 chrome browserAction onClicked addListener function callback