aboutsummaryrefslogtreecommitdiff
path: root/static/js/pager.ts
diff options
context:
space:
mode:
Diffstat (limited to 'static/js/pager.ts')
-rw-r--r--static/js/pager.ts40
1 files changed, 4 insertions, 36 deletions
diff --git a/static/js/pager.ts b/static/js/pager.ts
index 411c3c5..01d40d7 100644
--- a/static/js/pager.ts
+++ b/static/js/pager.ts
@@ -53,29 +53,6 @@
}
};
- const fragmentClear = (entries) => {
- for (let entry = 0; entry < entries.length; entry++) {
- if (self.location.hash) {
- self.history.replaceState(null, "", url);
- }
- }
- };
-
- const fragmentRelease = (fragmentCallback) => {
- try {
- const fragmentObserver = new IntersectionObserver(fragmentCallback, {
- threshold: 1.0,
- });
- const fragments = document.querySelectorAll("[id]");
-
- for (let fragment = 0; fragment < fragments.length; fragment++) {
- fragmentObserver.observe(fragments[fragment]);
- }
- } catch (error) {
- console.log("The intersection observer is not supported", error);
- }
- };
-
self.addEventListener("DOMContentLoaded", function () {
scrollRestore(url);
self.addEventListener("click", function (event) {
@@ -85,20 +62,11 @@
});
});
- let scrolls = 0;
-
- let once = (action) => {
- once = function () {};
- action();
- };
-
self.addEventListener("scroll", function () {
scrollTrack(url);
- if (scrolls > 3) {
- once(function () {
- fragmentRelease(fragmentClear);
- });
- }
- scrolls++;
+ });
+
+ self.addEventListener("hashchange", function () {
+ scrollRestore(url);
});
})();