Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用Chrome扩展时从弹出窗口获取网页的document.body_Javascript_Google Chrome Extension_Firefox Addon_Google Chrome Devtools - Fatal编程技术网

Javascript 使用Chrome扩展时从弹出窗口获取网页的document.body

Javascript 使用Chrome扩展时从弹出窗口获取网页的document.body,javascript,google-chrome-extension,firefox-addon,google-chrome-devtools,Javascript,Google Chrome Extension,Firefox Addon,Google Chrome Devtools,我有一个基本的Chrome扩展,需要通过弹出窗口访问网页的document.body 当前,当我尝试打开弹出窗口和控制台日志document.body,它会记录弹出窗口的document.body,而我需要网站的document.body 我该怎么做 manifest.json popup/index.html 演示分机 标题应该是我们正在访问的网站我建议您查看此 如果您的扩展需要与网页交互,那么它需要一个内容脚本。内容脚本是在加载到浏览器的页面上下文中执行的JavaScript。将内容脚本视

我有一个基本的Chrome扩展,需要通过弹出窗口访问网页的
document.body

当前,当我尝试打开弹出窗口和控制台日志
document.body
,它会记录弹出窗口的
document.body
,而我需要网站的
document.body

我该怎么做

manifest.json popup/index.html

演示分机

标题应该是我们正在访问的网站我建议您查看此

如果您的扩展需要与网页交互,那么它需要一个内容脚本。内容脚本是在加载到浏览器的页面上下文中执行的JavaScript。将内容脚本视为加载页面的一部分,而不是其打包的扩展(其父扩展)的一部分


内容脚本可以通过与扩展交换消息来访问父扩展使用的ChromeAPI。他们还可以使用chrome.runtime.getURL()访问扩展名文件的URL,并使用与其他URL相同的结果

事实上,内容脚本才是最好的选择。我试过了,但不管用,但都解决了


只是链接它,因为它比我能更好地解释一切:)

可能的重复是的,它看起来像可能的重复,但executeScript方法感觉很粗糙。所以我选择了&它帮助我解决了这个问题:)executeScript中没有任何黑客行为。我所说的黑客行为是指奇怪的语法。我必须将javascript转换成字符串。我认为它也可以提供一个js文件路径,但另一种方法更好,所以我使用了它。根据实际/最终目标,其他方法可能过于复杂。谢谢。我在中找到了解决方案:)
{
  "description": "Demo ext",
  "manifest_version": 2,
  "name": "Demo ext",
  "version": "1.0",
  "icons": {
    "48": "icons/icon-48.png"
  },
  "permissions": ["activeTab"],
  "browser_action": {
    "default_icon": "icons/icon-32.png",
    "theme_icons": [
      {
        "light": "icons/icon-32-light.png",
        "dark": "icons/icon-32.png",
        "size": 32
      }
    ],
    "default_title": "Demo ext",
    "default_popup": "popup/index.html"
  }
}