13
votes

I have a content script that is run when the user connects to "*://www.youtube.com/*". I need to know when the URL changes, as YouTube does not open a new 'page', so-to-speak, when you click on a link; rather it changes the URL and page contents (I think). Because of this, my content script doesn't realize that anything has changed. (I know this because it DOES work when I reload the page)

So how do I find out when the URL of the tab that my script is running in has changed?

[Edit]: My question concerns specifically getting the URL of the tab that the content script is running in, rather than getting the url of the active tab.

1
@Fohlen, This question is not a duplicate of that question. That question is specifically regarding getting the URL of the tab from within a chrome.contextMenus (which its primary answer reflects). Looking at the code from that answer it is clear that, despite there being better solutions (as answered), that question is actually a duplicate of the question listed in comments as a possible duplicate. - Makyen
How did you manage to actually get this working? Specifically for the youtube case, how did you manage to detect that the page had changed? - pingOfDoom
@pingOfDoom I periodically checked the location.href, every half/full second or so. - otoomey

1 Answers

32
votes