执行 chrome.extension.getBackgroundPage() 时抛出错误

2023-12-14

我正在开发我的第一个扩展,并尝试创建一个简单的扩展来在页面上注入可拖动的 div。这很好用,但我想保留 div 在后台页面上的位置(我也在尝试本地存储,但想了解为什么这不起作用)。

我不需要按钮,因此没有创建 popup.html 文件,我相信该文件完全是可选的。到目前为止,它确实有效,只是注入 javascript 文件。

但是,我现在在执行 chrome.extension.getBackgroundPage() 时抛出以下错误:

未捕获错误:chrome.extension.getBackgroundPage 只能在扩展进程中使用。有关更多详细信息,请参阅内容脚本文档。

内容脚本文档似乎没有发现我的方法有任何问题:http://code.google.com/chrome/extensions/content_scripts.html

这是我正在使用的经过编辑的清单:

{
"name": "My helper",
"version": "1.0", 
"description": "Tastes great",
"background_page": "background.html",
"content_scripts": [
    {
        "matches":["https://page.of.interest/*"],
        "run_at":"document_idle",
        "js":[ "jquery.js", "jquery-ui-1.8.17.custom.min.js", "my_content_script.js"],
        "css": [ "my_content_script.css" ]
    }
],
"permissions": [
  "background"
] 
}

所以我在“my_content_script.js”中运行此语句。这是否不被视为扩展过程的一部分?我可以只在 popup.html (或其他可能的?)文件上运行它吗?

如果是这种情况,那么也许只使用本地存储比尝试通过 dom 与扩展进程进行通信更容易。

尽管我对其中一些概念一无所知,但希望我已经说清楚了。


我不认为文档明确表示你不能使用chrome.extension.getBackgroundPage() from a content_script但因为content_script具有更适合其正在运行的页面的权限,不允许访问。这文档确实提到了不过,您可以使用一些方法。

与其他 chrome.* API 不同,内容脚本可以使用 chrome.extension 的部分内容:

你将不得不使用消息传递之间进行通信background_pagecontent_script.

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

执行 chrome.extension.getBackgroundPage() 时抛出错误 的相关文章

随机推荐

  • Node MSSQL - 如何使用内置的 SQL 注入保护

    我正在研究 Node 的 MSSQL 模块中内置的 SQL 注入保护 https www npmjs com package mssql injection 但我并没有完全理解他们如何清理查询值的示例 我猜是request input my
  • Terraform 将 SSL 证书绑定到 Azure WebApp

    我最近一直在尝试使用 Azure 中的 Terraform 将域和 SSL 证书绑定到 Web 应用程序 我在这方面没有运气 而且文档有点混乱 地面上很简单 我在制定计划时遇到的错误是 Error parsing subscriptions
  • JavaScript 中的继承

    当我使用原型在 Javascript 中实现继承时 我遇到了一个奇怪的错误 我想知道是否有人可以解释这一点 在下面的代码中 我正在尝试从父类派生子类 parent class function byref if parent class p
  • 为什么使用ByRef时变量应该被赋值为“.Value”?

    有什么区别 A Something and A Value Something 我发现这仅在以下情况下才有效 Value用来 function main A Original A B Original B SetByRef1 ref A S
  • 在 Joomla 中添加特定于页面的 javascript 或 CSS

    如何仅在 Joomla 的某篇文章中包含 javascript 或 CSS 文件 我有一篇文章需要 jQuery UI 和相关主题 由于它没有在任何其他页面上使用 因此我只需要在这篇特定的文章中使用它 添加必要的
  • 为什么我的应用程序显示我正在请求通讯录权限?

    我有一个表盘应用程序 显示我正在请求联系人权限 但我没有 我不明白这是为什么 我有应用程序内结算功能 并且可以访问 Google Fit 数据 以及 Google Analytics 以下是我的清单中的权限列表
  • 如何基于现有文件数据库创建具有架构的内存数据库

    我有一个现有的数据库 其结构在整个应用程序中使用 数据库的实例会定期轮换 我有一个数据库文件template sqlite它用作所有新创建的数据库的模板 我想使用它 而不是创建脚本 这样我只需维护一个文件 即空数据库模板本身 我想基于该模板
  • 什么标准调用实际上是宏

    我问了一个问题here about assert它在标准中作为宏而不是函数实现 这给我带来了一个问题 因为这样的方式assert从接受参数的角度来看 它似乎是一个函数 assert true 因此我尝试将其用作 std assert tru
  • Array.fill 和 for 循环创建数组有什么区别[重复]

    这个问题在这里已经有答案了 我正在使用 React js 创建一个地下城爬行游戏 并使用 Array fill 0 初始化棋盘 但是当我在二维数组中设置一个元素时 它将整个数组 列 设置为 player 而不是单一元素 我还有一个creat
  • VFP OleDb 的 Sql 参数化语法错误

    我正在尝试为 DBF 文件创建 SQL 参数化更新命令 Visual Fox Pro 我不知道为什么 但我在 DbCommand ExecuteNonQuery 上有一个 语法错误 异常错误消息是 语法错误 我没有任何额外的信息 strin
  • 如何查找 .NET 命名空间的程序集名称,例如 Microsoft.WindowsAzure.ServiceRuntime

    我有一个一般性问题和具体示例 根据 Stack Overflow 上有关命名空间程序集的所有类似问题 这应该很容易 最常见的答案是在问题中找到的我如何知道导入特定 NET 命名空间时要包含哪些引用 所有 MSDN 文档页面都提到命名空间和程
  • 循环,每次迭代仅在 jQuery 延迟之后发生,何时/然后可能没有递归?

    我想在循环中调用 jQuery 延迟函数 但每次迭代都应该等待上一个迭代使用延迟函数完成when function num of iterations var arr for var i 1 i lt num of iterations i
  • 将鼠标悬停在文本上时显示工具提示

    我想创建扩展 当我将鼠标悬停在文本上时 该扩展允许显示自定义消息 例如 test text 应该给出工具提示 OK 而不是当前的 ITrackin 我试着跟随https learn microsoft com en us visualstu
  • Visual Studio - 不同的断点集

    在 Visual Studio 2015 及更高版本 中 是否可以拥有多组断点 我有几个场景 我需要调试 但对于每个场景 我希望有不同的断点集 手动启用 禁用它们非常耗时 您可以从断点窗口导出和导入断点 然后根据需要导入它们 或者 如果您不
  • 有没有办法通过 .onLongPressGesture 将第三个切换选项添加到开/关状态?

    我已经设置了一个切换开关 如下图所示 可以打开 关闭图像或通过 失败 我正在尝试使用长按手势向图像添加第三种状态 这会将图像变成带有斜杠图标的灰色 我已经在文本元素中实现了这一点 因为 at is 没有 bool 条件 但经过多次搜索后无法
  • 创建未刷新的文件输出缓冲区

    我正在尝试解决在 Linux 上运行的几个不同语言的程序中未刷新的文件 I O 缓冲区出现的问题 刷新缓冲区的解决方案很简单 但是未刷新缓冲区的问题是随机发生的 我对如何创建 重现 和诊断这种情况感兴趣 而不是寻求可能导致这种情况的帮助 这
  • 使用 Selenium WebDriver 进行 PrimeFaces 文件上传测试

    我已经成功测试了 fileUploadSimplehttp www primefaces org showcase ui fileUploadSimple jsf使用 webElement sendKeys 方法 它不适用于自动上传 有没有
  • 使用 JSON 对象作为负载向 REST API 发出 POST 请求

    我正在尝试使用具有 JSON 负载的 POST 请求从 REST API 获取 JSON 响应 应在发送前转换为 URL 编码文本 我已经按照一些教程来实现该过程 但收到状态代码 400 的错误 我可能没有对给定的 JSON 字符串进行编码
  • 如何在 iframe 上设置“X-Frame-Options”?

    如果我创建一个iframe像这样 var dialog div align center div dialog 如何使用 JavaScript 修复以下错误 拒绝展示 https www google com ua gws rd ssl 在
  • 执行 chrome.extension.getBackgroundPage() 时抛出错误

    我正在开发我的第一个扩展 并尝试创建一个简单的扩展来在页面上注入可拖动的 div 这很好用 但我想保留 div 在后台页面上的位置 我也在尝试本地存储 但想了解为什么这不起作用 我不需要按钮 因此没有创建 popup html 文件 我相信