有没有一种方法可以访问当前的标签域?

时间:2020-06-26 09:15:13

标签: javascript google-chrome-extension

我正在尝试访问活动标签的DOM 例如访问某些$results[0]->name标签。

这是我试图做的事情

$results->name

我在h1函数中得到的结果是一个数组,其中填充了一个空对象的一个​​项目

但是当我将const contextMenuItem = { "id": "roteteimg", "title": "rotate img", "contexts": ["image"] }; chrome.contextMenus.create(contextMenuItem); function func(element) { console.log(element); } chrome.contextMenus.onClicked.addListener((data, tab) => { chrome.tabs.query({active: true}, function(tabs) { var tab = tabs[0]; console.log(tab); chrome.tabs.executeScript(tab.id, { code: "document.querySelector('h1')" }, func); }); }) 更改为func
时,在此标头标记值的数组中得到了一个字符串。

如何获得元素本身的结果?
我更喜欢访问当前选项卡的整个域。

希望您能帮助我。

1 个答案:

答案 0 :(得分:0)

您无法在后台脚本中访问DOM,只能使用内容脚本与其进行交互。如果要对DOM进行特定的操作,则需要使用postMessage API将消息从内容脚本发送到后台脚本(甚至可以将直接命令从后台脚本发送到内容脚本,然后再发送回来,因此与您与DOM交互几乎相同,只是您通过内容脚本 来完成此操作)