【发布时间】:2012-06-05 00:48:06
【问题描述】:
我有一个标签的 tabId。如何获取它的窗口对象?
【问题讨论】:
-
你能说出你想要达到的目标吗?因为可能有不同的方法来完成它?
-
我有一个标签的 tabId。如何获取它的窗口对象?
标签: javascript html google-chrome google-chrome-extension
我有一个标签的 tabId。如何获取它的窗口对象?
【问题讨论】:
标签: javascript html google-chrome google-chrome-extension
要从 tabId 获取 DOM 窗口对象,您应该在该选项卡中插入内容脚本:
chrome.tabs.executeScript(tabId, {code:'var w = window; console.log(w);'});
https://developer.chrome.com/extensions/tabs#method-executeScript
也许您需要与您的后台页面进行通信:
https://developer.chrome.com/extensions/content_scripts#host-page-communication
【讨论】:
在 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 运行时,则需要使用内容脚本,这里有更好的解释:
http://code.google.com/chrome/extensions/content_scripts.html
【讨论】:
win 是包含选项卡的窗口。要获得另一个,您需要内容脚本,因此请阅读我给您的链接。您必须从扩展中注入一些 javascript 到选项卡中。这有点棘手,但你会明白的。