Use History API in the demo
diff --git a/demo/index.js b/demo/index.js
index 63d2b1d..73648b3 100644
--- a/demo/index.js
+++ b/demo/index.js
@@ -59,7 +59,8 @@
const selectableRange = document.createRange();
selectableRange.selectNodeContents(selectable);
const descriptor = await describeRange({ range, context: selectableRange });
- window.location.hash = fragment.stringify(descriptor);
+ const nextFragment = fragment.stringify(descriptor);
+ window.history.replaceState(descriptor, null, `#${nextFragment}`);
}
function isWithinNode(range, node) {
@@ -71,14 +72,14 @@
);
}
-window.addEventListener('hashchange', refresh);
+window.addEventListener('popstate', refresh);
document.addEventListener('DOMContentLoaded', refresh);
document.addEventListener('selectionchange', onSelectionChange);
if (module.hot) {
module.hot.accept();
module.hot.dispose(() => {
- window.removeEventListener('hashchange', refresh);
+ window.removeEventListener('popstate', refresh);
document.removeEventListener('DOMContentLoaded', refresh);
document.removeEventListener('selectionchange', onSelectionChange);
});