问题
I want to access the properties of a window
object from a background script. I have this in manifest.json
:
{
"..": "..",
"permissions": ["http://*.mysite.net/"],
"background": {
"scripts": ["extension.js"]
}
}
and this in extension.js
:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status === 'complete') {
var tabWindowObject = ??
setInterval(tabWindowObject.someFunction, 10);
}
});
I need it here, not in another place (no content scripts and no script injection). How do I get the tabWindowObject
in extension.js
? In other words, I want to access the context of a tab inside a background script Chrome extension.
回答1:
You can't. The extension's background page runs in one process, while the tab that was updated runs in a separate process. Different processes can't share objects, so you can't directly access the window
object of a tab from an extension's background page. You have to use a content script to get extension code to run inside the tab's process.
来源:https://stackoverflow.com/questions/22571438/access-window-object-from-a-background-chrome-extension