-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathzz.loaded.js
More file actions
39 lines (36 loc) · 1.25 KB
/
zz.loaded.js
File metadata and controls
39 lines (36 loc) · 1.25 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
import eventManager from 'src/utils/eventManager.js';
import { scriptVersion, window } from 'src/utils/1.variables.js';
import { getPageName } from 'src/utils/onPage.js';
import sleep from 'src/utils/sleep.js';
const page = getPageName();
function loaded() {
if (eventManager.singleton.emit(':loaded').ran) {
console.warn('`:loaded` event is depricated, please migrate to `:preload`.');
}
eventManager.singleton.emit(':preload');
if (eventManager.singleton.emit(`:loaded:${page}`).ran) {
console.warn(`\`:loaded:${page}\` event is depricated, please migrate to \`:preload:${page}\``);
}
eventManager.singleton.emit(`:preload:${page}`);
}
function done() {
eventManager.singleton.emit(':load');
eventManager.singleton.emit(`:load:${page}`);
}
if (location.host.includes('undercards.net')) {
console.log(`UnderScript(v${scriptVersion}): Loaded`); // eslint-disable-line no-console
if (document.title.includes('Undercards')) {
register();
}
}
function register() {
document.addEventListener('DOMContentLoaded', loaded);
window.addEventListener('load', () => sleep().then(done));
const COMPLETE = document.readyState === 'complete';
if (document.readyState === 'interactive' || COMPLETE) {
loaded();
}
if (COMPLETE) {
done();
}
}