Javascript 使用Chrome扩展时从弹出窗口获取网页的document.body
我有一个基本的Chrome扩展,需要通过弹出窗口访问网页的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。将内容脚本视
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"
}
}