I want to access the properties of a window
object from a background script. I have this in manifest.json
:
{
"..": "..",
"permissions": ["http://*.mysite/"],
"background": {
"scripts": ["extension.js"]
}
}
and this in extension.js
:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status === 'plete') {
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.
I want to access the properties of a window
object from a background script. I have this in manifest.json
:
{
"..": "..",
"permissions": ["http://*.mysite/"],
"background": {
"scripts": ["extension.js"]
}
}
and this in extension.js
:
chrome.tabs.onUpdated.addListener(function (tabId, changeInfo, tab) {
if (changeInfo.status === 'plete') {
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. If it's an object defined by the webpage code, then you can only access it through script injection from a content script. – rsanchez Commented Mar 21, 2014 at 23:48
1 Answer
Reset to default 13You 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.