summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFlorrie <towerofnix@gmail.com>2019-03-26 11:16:04 -0300
committerFlorrie <towerofnix@gmail.com>2019-03-26 11:16:04 -0300
commit7dbcbe1ebb08cf3201df644561bc8de357e8f9ba (patch)
tree6ec67f6c17af463910749f30721566ecc4f635b5
parenta6b148696d4430656708148787af5b6f738ec9a1 (diff)
Use a poll to catch extra tricky location changesHEADmaster
-rw-r--r--extension/interactive-bgm.js19
1 files changed, 9 insertions, 10 deletions
diff --git a/extension/interactive-bgm.js b/extension/interactive-bgm.js
index 2bafe54..9c0e5dd 100644
--- a/extension/interactive-bgm.js
+++ b/extension/interactive-bgm.js
@@ -1,18 +1,17 @@
const sendURL = () => {
- browser.runtime.sendMessage({urlString: location.toString()});
+ if (!document.hidden) {
+ browser.runtime.sendMessage({urlString: location.toString()});
+ }
};
window.addEventListener('focus', sendURL);
+window.addEventListener('popstate', sendURL);
+document.addEventListener('visibilitychange', sendURL);
+sendURL();
-document.addEventListener('visibilitychange', () => {
- if (!document.hidden) {
- sendURL();
- }
-});
-
-if (!document.hidden) {
- sendURL();
-}
+// Some things we just can't reliably detect through event, like the location being changed via JS.
+// To catch those, we poll regularly.
+setInterval(sendURL, 1000);
let isShowingCreateTrack = false;