Reputation: 5298
I'm writing a small Chrome extension that would have a content_script
.
It would run on a single domain, I'm trying to improve a site a bit.
I want to use jQuery
in my content script, but the site also uses jQuery
, so I cannot simply add jQuery to my extension's content_script
array.
My content_script
will
"run_at": "document_end"
but jQuery
is not yet loaded. It's not loaded on document_idle
either.
So I have to wait for it.
How do I do that?
I've tried doing this:
(function() {
var i = setInterval(function () {
console.log(typeof jQuery + " " + i);
if (typeof jQuery != "undefined") {
console.log("jQuery loaded");
clearInterval(i);
} else {
console.log("jQuery not loaded");
}
}, 200);
})();
But for some reason typeof jQuery
is always undefined within that loop.
If I manually clearInterval
, and check typeof jQuery
I properly get "function"
.
(chrome inspector console)
Any ideas?
EDIT:
content_script
s are special:
Content scripts are JavaScript files that run in the context of web pages. By using the standard Document Object Model (DOM), they can read details of the web pages the browser visits, or make changes to them.
Upvotes: 3
Views: 912
Reputation: 111285
I cannot simply add jQuery to my extension's
content_script
array.
You can and should. Extension variable space is sandboxed, so content scripts cannot access variables from parent's page and vice versa.
Upvotes: 6