Javascript 您只能在chrome扩展中使用背景页面或背景脚本吗?

Javascript 您只能在chrome扩展中使用背景页面或背景脚本吗?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,在我的chrome扩展中,我希望有一个背景脚本,原因很明显。不过,我现在还希望有一个背景页面,我喜欢在这里描述使用iFrame加载一些html(),我可以使用内容脚本与之交互。但当我尝试加载背景脚本和背景页面时,如下所示: ... "background":{ "scripts": ["background_script.js"] }, "background": { "page"

在我的chrome扩展中,我希望有一个背景脚本,原因很明显。不过,我现在还希望有一个背景页面,我喜欢在这里描述使用iFrame加载一些html(),我可以使用内容脚本与之交互。但当我尝试加载背景脚本和背景页面时,如下所示:

...
"background":{
    "scripts": ["background_script.js"]
},
"background": {
    "page": "iFrameBackground.html",
    "persistent": true
},
...
然后尝试将消息从我的内容脚本发送到后台脚本我收到以下错误:

Unchecked runtime.lastError: Could not establish connection. Receiving end does not exist.
要么我完全遗漏了什么,要么你真的能用其中一个

谢谢:)

问题
  • 只能使用一个声明方法
  • 您的json无效,因为它有两个相同的密钥,所以Chrome甚至不会安装它
  • 解决方案 只选择一种方法。任何方法

    您可以在后台脚本/页面中访问DOM,无论其声明方式如何

    每个方法的结果都是相同的:它们都创建了一个背景页面。一个扩展可以只有一个后台页面,其中可以加载任意数量的后台脚本,就像在任何其他网页中一样。
    scripts
    方法的存在只是为了方便:它只是生成一个虚拟HTML页面,正如您在中看到的那样。

    Problems
  • 只能使用一个声明方法
  • 您的json无效,因为它有两个相同的密钥,所以Chrome甚至不会安装它
  • 解决方案 只选择一种方法。任何方法

    您可以在后台脚本/页面中访问DOM,无论其声明方式如何


    每个方法的结果都是相同的:它们都创建了一个背景页面。一个扩展可以只有一个后台页面,其中可以加载任意数量的后台脚本,就像在任何其他网页中一样。
    scripts
    方法的存在只是为了方便:它只生成一个虚拟HTML页面,如您在中所见。

    谢谢您的回答:)那么您所说的只是一个持久的背景脚本?我该如何在其中加入iFrame?只是把它写成一个带有脚本标签的html页面?你似乎想得太多了。可以有任意数量的脚本,但它们将在一个页面中运行。您可以在该页面中创建和添加iframe元素,就像在任何其他页面中一样。:)可能是的。但我现在仍然不知道如何在实践中做到这一点。你说的是两个背景脚本,其中一个是html页面?我甚至需要一个内容脚本来获取iFrame内容吗?比如:“背景”:{“脚本”:[“background_script.js”,“iFrameBackground.html”]},在
    scripts
    中,您只能列出。。。剧本!这就是js文件。您不需要iframedbackground.html。您可以在js文件中使用DOM,请参阅document.createElement等的任何教程。这是非常基本的web开发工具。谢谢你的回答:)那么你说的只是一个持久化的背景脚本?我该如何在其中加入iFrame?只是把它写成一个带有脚本标签的html页面?你似乎想得太多了。可以有任意数量的脚本,但它们将在一个页面中运行。您可以在该页面中创建和添加iframe元素,就像在任何其他页面中一样。:)可能是的。但我现在仍然不知道如何在实践中做到这一点。你说的是两个背景脚本,其中一个是html页面?我甚至需要一个内容脚本来获取iFrame内容吗?比如:“背景”:{“脚本”:[“background_script.js”,“iFrameBackground.html”]},在
    scripts
    中,您只能列出。。。剧本!这就是js文件。您不需要iframedbackground.html。您可以在js文件中使用DOM,请参阅document.createElement等的任何教程。这是非常基本的web开发工具。