From 7dbcbe1ebb08cf3201df644561bc8de357e8f9ba Mon Sep 17 00:00:00 2001 From: Florrie Date: Tue, 26 Mar 2019 11:16:04 -0300 Subject: Use a poll to catch extra tricky location changes --- extension/interactive-bgm.js | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) (limited to 'extension') 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; -- cgit 1.3.0-6-gf8a5