38 lines
944 B
JavaScript
38 lines
944 B
JavaScript
/* global CONFIG, quicklink */
|
|
|
|
(function() {
|
|
if (typeof CONFIG.quicklink.ignores === 'string') {
|
|
const ignoresStr = `[${CONFIG.quicklink.ignores}]`;
|
|
CONFIG.quicklink.ignores = JSON.parse(ignoresStr);
|
|
}
|
|
|
|
let resetFn = null;
|
|
|
|
const onRefresh = () => {
|
|
if (resetFn) resetFn();
|
|
if (!CONFIG.quicklink.enable) return;
|
|
|
|
let ignoresArr = CONFIG.quicklink.ignores || [];
|
|
if (!Array.isArray(ignoresArr)) {
|
|
ignoresArr = [ignoresArr];
|
|
}
|
|
|
|
resetFn = quicklink.listen({
|
|
timeout : CONFIG.quicklink.timeout,
|
|
priority: CONFIG.quicklink.priority,
|
|
ignores : [
|
|
uri => uri.includes('#'),
|
|
uri => uri === CONFIG.quicklink.url,
|
|
...ignoresArr
|
|
]
|
|
});
|
|
};
|
|
|
|
if (CONFIG.quicklink.delay) {
|
|
window.addEventListener('load', onRefresh);
|
|
document.addEventListener('pjax:success', onRefresh);
|
|
} else {
|
|
document.addEventListener('page:loaded', onRefresh);
|
|
}
|
|
})();
|