Javascript 如果我有一个特定的选项卡';什么是塔比德?
我有一个标签的标签。如何获取它的窗口对象?在chrome扩展中看到的窗口对象:Javascript 如果我有一个特定的选项卡';什么是塔比德?,javascript,html,google-chrome,google-chrome-extension,Javascript,Html,Google Chrome,Google Chrome Extension,我有一个标签的标签。如何获取它的窗口对象?在chrome扩展中看到的窗口对象: chrome.tabs.get(YOUR_TAB_ID_HERE, function(tab){ chrome.windows.get(tab.windowId, function(win){ console.log(win); // THIS IS THE WINDOW OBJECT }); }); 但是,如果您需要在特定选项卡中使用javascript运行时,
chrome.tabs.get(YOUR_TAB_ID_HERE, function(tab){
chrome.windows.get(tab.windowId, function(win){
console.log(win); // THIS IS THE WINDOW OBJECT
});
});
但是,如果您需要在特定选项卡中使用javascript运行时,则需要使用内容脚本,下面将对此进行更好的解释:
要从选项卡ID获取DOM窗口对象,应在该选项卡中插入内容脚本:
chrome.tabs.executeScript(tabId, {code:'var w = window; console.log(w);'});
也许您需要与您的背景页面进行沟通:
你能告诉我你想要实现什么吗?因为可能有不同的方法来完成它?我有一个选项卡的选项卡ID。如何获取它的窗口对象?等等,“win”是视图的窗口对象,还是包含多个选项卡的窗口的窗口对象?我正在尝试获取视图的窗口对象。
win
是包含选项卡的窗口。要得到另一个,你需要内容脚本,所以请阅读我给你的链接。您必须将扩展中的一些javascript注入到选项卡中。这有点棘手,但你会明白的。这毫无意义。这将只是将窗口对象记录到控制台,并将其复制到另一个变量。它不会返回任何内容。除非您添加回调,否则此答案完全无效。类似于:chrome.tabs.executeScript(null,{code:'var w=window;w“},函数(results){console.log(results[0]);});但是,由于安全原因,许多窗口项不可用,因此您仍然必须使用内容脚本/消息传递api才能执行任何功能。