From cd8c64887e27f513e4ed0b14b7f201204d82bebb Mon Sep 17 00:00:00 2001 From: ivansimplistic <38053326+ivansimplistic@users.noreply.github.com> Date: Thu, 30 Nov 2023 13:49:55 -0300 Subject: [PATCH 1/3] Fix prefetching after mouseout --- instantpage.js | 1 + 1 file changed, 1 insertion(+) diff --git a/instantpage.js b/instantpage.js index b7b0fc0..1bc5bd3 100644 --- a/instantpage.js +++ b/instantpage.js @@ -198,6 +198,7 @@ function mouseoverListener(event) { anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) + clearTimeout(_mouseoverTimer); //sometimes mouseover triggers a few times before mouseout, setting multiple timeouts but then mouseout only clears the last timeout. _mouseoverTimer = setTimeout(() => { preload(anchorElement.href, 'high') _mouseoverTimer = undefined From 12a54d526b5fbcf2d82f83726e426e3c11537ea7 Mon Sep 17 00:00:00 2001 From: ivansimplistic <38053326+ivansimplistic@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:06:30 -0300 Subject: [PATCH 2/3] changed previous fix --- instantpage.js | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/instantpage.js b/instantpage.js index 1bc5bd3..39ffc7e 100644 --- a/instantpage.js +++ b/instantpage.js @@ -198,11 +198,12 @@ function mouseoverListener(event) { anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) - clearTimeout(_mouseoverTimer); //sometimes mouseover triggers a few times before mouseout, setting multiple timeouts but then mouseout only clears the last timeout. - _mouseoverTimer = setTimeout(() => { - preload(anchorElement.href, 'high') - _mouseoverTimer = undefined - }, _delayOnHover) + if (!_mouseoverTimer) { //sometimes mouseover triggers a few times before mouseout, setting multiple timeouts but then mouseout only clears the last timeout. + _mouseoverTimer = setTimeout(() => { + preload(anchorElement.href, 'high') + _mouseoverTimer = undefined + }, _delayOnHover) + } } function mousedownListener(event) { From 1fbcde5d5295ebf19ac1b9479a03800d84251095 Mon Sep 17 00:00:00 2001 From: ivansimplistic <38053326+ivansimplistic@users.noreply.github.com> Date: Thu, 30 Nov 2023 14:10:57 -0300 Subject: [PATCH 3/3] Update instantpage.js --- instantpage.js | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/instantpage.js b/instantpage.js index 39ffc7e..e9af3a4 100644 --- a/instantpage.js +++ b/instantpage.js @@ -196,9 +196,8 @@ function mouseoverListener(event) { return } - anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) - if (!_mouseoverTimer) { //sometimes mouseover triggers a few times before mouseout, setting multiple timeouts but then mouseout only clears the last timeout. + anchorElement.addEventListener('mouseout', mouseoutListener, {passive: true}) _mouseoverTimer = setTimeout(() => { preload(anchorElement.href, 'high') _mouseoverTimer = undefined