Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.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 如果我有一个特定的选项卡';什么是塔比德?_Javascript_Html_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 如果我有一个特定的选项卡';什么是塔比德?

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扩展中看到的窗口对象:

 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才能执行任何功能。