mirror of
				https://github.com/fooflington/selfdefined.git
				synced 2025-11-03 15:29:02 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			541 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			541 lines
		
	
	
		
			16 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
<!doctype html>
 | 
						|
<html>
 | 
						|
<body>
 | 
						|
    <script>
 | 
						|
        !function() {
 | 
						|
            var names = [];
 | 
						|
            var scanned = [];
 | 
						|
            var to_scan = [];
 | 
						|
 | 
						|
            function scan(obj) {
 | 
						|
                if (obj && typeof obj == "object" && !~scanned.indexOf(obj)) {
 | 
						|
                    scanned.push(obj);
 | 
						|
                    to_scan.push(obj);
 | 
						|
                }
 | 
						|
            }
 | 
						|
 | 
						|
            scan(self);
 | 
						|
            [
 | 
						|
                "a",
 | 
						|
                "abbr",
 | 
						|
                "acronym",
 | 
						|
                "address",
 | 
						|
                "applet",
 | 
						|
                "area",
 | 
						|
                "article",
 | 
						|
                "aside",
 | 
						|
                "audio",
 | 
						|
                "b",
 | 
						|
                "base",
 | 
						|
                "basefont",
 | 
						|
                "bdi",
 | 
						|
                "bdo",
 | 
						|
                "bgsound",
 | 
						|
                "big",
 | 
						|
                "blink",
 | 
						|
                "blockquote",
 | 
						|
                "body",
 | 
						|
                "br",
 | 
						|
                "button",
 | 
						|
                "canvas",
 | 
						|
                "caption",
 | 
						|
                "center",
 | 
						|
                "checked",
 | 
						|
                "cite",
 | 
						|
                "code",
 | 
						|
                "col",
 | 
						|
                "colgroup",
 | 
						|
                "command",
 | 
						|
                "comment",
 | 
						|
                "compact",
 | 
						|
                "content",
 | 
						|
                "data",
 | 
						|
                "datalist",
 | 
						|
                "dd",
 | 
						|
                "declare",
 | 
						|
                "defer",
 | 
						|
                "del",
 | 
						|
                "details",
 | 
						|
                "dfn",
 | 
						|
                "dialog",
 | 
						|
                "dir",
 | 
						|
                "disabled",
 | 
						|
                "div",
 | 
						|
                "dl",
 | 
						|
                "dt",
 | 
						|
                "element",
 | 
						|
                "em",
 | 
						|
                "embed",
 | 
						|
                "fieldset",
 | 
						|
                "figcaption",
 | 
						|
                "figure",
 | 
						|
                "font",
 | 
						|
                "footer",
 | 
						|
                "form",
 | 
						|
                "frame",
 | 
						|
                "frameset",
 | 
						|
                "h1",
 | 
						|
                "h2",
 | 
						|
                "h3",
 | 
						|
                "h4",
 | 
						|
                "h5",
 | 
						|
                "h6",
 | 
						|
                "head",
 | 
						|
                "header",
 | 
						|
                "hgroup",
 | 
						|
                "hr",
 | 
						|
                "html",
 | 
						|
                "i",
 | 
						|
                "iframe",
 | 
						|
                "image",
 | 
						|
                "img",
 | 
						|
                "input",
 | 
						|
                "ins",
 | 
						|
                "isindex",
 | 
						|
                "ismap",
 | 
						|
                "kbd",
 | 
						|
                "keygen",
 | 
						|
                "label",
 | 
						|
                "legend",
 | 
						|
                "li",
 | 
						|
                "link",
 | 
						|
                "listing",
 | 
						|
                "main",
 | 
						|
                "map",
 | 
						|
                "mark",
 | 
						|
                "marquee",
 | 
						|
                "math",
 | 
						|
                "menu",
 | 
						|
                "menuitem",
 | 
						|
                "meta",
 | 
						|
                "meter",
 | 
						|
                "multicol",
 | 
						|
                "multiple",
 | 
						|
                "nav",
 | 
						|
                "nobr",
 | 
						|
                "noembed",
 | 
						|
                "noframes",
 | 
						|
                "nohref",
 | 
						|
                "noresize",
 | 
						|
                "noscript",
 | 
						|
                "noshade",
 | 
						|
                "nowrap",
 | 
						|
                "object",
 | 
						|
                "ol",
 | 
						|
                "optgroup",
 | 
						|
                "option",
 | 
						|
                "output",
 | 
						|
                "p",
 | 
						|
                "param",
 | 
						|
                "picture",
 | 
						|
                "plaintext",
 | 
						|
                "pre",
 | 
						|
                "progress",
 | 
						|
                "q",
 | 
						|
                "rb",
 | 
						|
                "readonly",
 | 
						|
                "rp",
 | 
						|
                "rt",
 | 
						|
                "rtc",
 | 
						|
                "ruby",
 | 
						|
                "s",
 | 
						|
                "samp",
 | 
						|
                "script",
 | 
						|
                "section",
 | 
						|
                "select",
 | 
						|
                "selected",
 | 
						|
                "shadow",
 | 
						|
                "small",
 | 
						|
                "source",
 | 
						|
                "spacer",
 | 
						|
                "span",
 | 
						|
                "strike",
 | 
						|
                "strong",
 | 
						|
                "style",
 | 
						|
                "sub",
 | 
						|
                "summary",
 | 
						|
                "sup",
 | 
						|
                "svg",
 | 
						|
                "table",
 | 
						|
                "tbody",
 | 
						|
                "td",
 | 
						|
                "template",
 | 
						|
                "textarea",
 | 
						|
                "tfoot",
 | 
						|
                "th",
 | 
						|
                "thead",
 | 
						|
                "time",
 | 
						|
                "title",
 | 
						|
                "tr",
 | 
						|
                "track",
 | 
						|
                "tt",
 | 
						|
                "u",
 | 
						|
                "ul",
 | 
						|
                "var",
 | 
						|
                "video",
 | 
						|
                "wbr",
 | 
						|
                "xmp",
 | 
						|
                "XXX",
 | 
						|
            ].forEach(function(tag) {
 | 
						|
                scan(document.createElement(tag));
 | 
						|
            });
 | 
						|
            [
 | 
						|
                "abort",
 | 
						|
                "absolutedeviceorientation",
 | 
						|
                "activate",
 | 
						|
                "active",
 | 
						|
                "addsourcebuffer",
 | 
						|
                "addstream",
 | 
						|
                "addtrack",
 | 
						|
                "afterprint",
 | 
						|
                "afterscriptexecute",
 | 
						|
                "afterupdate",
 | 
						|
                "animationcancel",
 | 
						|
                "animationend",
 | 
						|
                "animationiteration",
 | 
						|
                "animationstart",
 | 
						|
                "appinstalled",
 | 
						|
                "audioend",
 | 
						|
                "audioprocess",
 | 
						|
                "audiostart",
 | 
						|
                "autocomplete",
 | 
						|
                "autocompleteerror",
 | 
						|
                "auxclick",
 | 
						|
                "beforeactivate",
 | 
						|
                "beforecopy",
 | 
						|
                "beforecut",
 | 
						|
                "beforedeactivate",
 | 
						|
                "beforeeditfocus",
 | 
						|
                "beforeinstallprompt",
 | 
						|
                "beforepaste",
 | 
						|
                "beforeprint",
 | 
						|
                "beforescriptexecute",
 | 
						|
                "beforeunload",
 | 
						|
                "beforeupdate",
 | 
						|
                "blocked",
 | 
						|
                "blur",
 | 
						|
                "bounce",
 | 
						|
                "boundary",
 | 
						|
                "cached",
 | 
						|
                "cancel",
 | 
						|
                "candidatewindowhide",
 | 
						|
                "candidatewindowshow",
 | 
						|
                "candidatewindowupdate",
 | 
						|
                "canplay",
 | 
						|
                "canplaythrough",
 | 
						|
                "cellchange",
 | 
						|
                "change",
 | 
						|
                "chargingchange",
 | 
						|
                "chargingtimechange",
 | 
						|
                "checking",
 | 
						|
                "click",
 | 
						|
                "close",
 | 
						|
                "compassneedscalibration",
 | 
						|
                "complete",
 | 
						|
                "connect",
 | 
						|
                "connecting",
 | 
						|
                "connectionstatechange",
 | 
						|
                "contextmenu",
 | 
						|
                "controllerchange",
 | 
						|
                "controlselect",
 | 
						|
                "copy",
 | 
						|
                "cuechange",
 | 
						|
                "cut",
 | 
						|
                "dataavailable",
 | 
						|
                "datachannel",
 | 
						|
                "datasetchanged",
 | 
						|
                "datasetcomplete",
 | 
						|
                "dblclick",
 | 
						|
                "deactivate",
 | 
						|
                "devicechange",
 | 
						|
                "devicelight",
 | 
						|
                "devicemotion",
 | 
						|
                "deviceorientation",
 | 
						|
                "deviceorientationabsolute",
 | 
						|
                "deviceproximity",
 | 
						|
                "dischargingtimechange",
 | 
						|
                "disconnect",
 | 
						|
                "display",
 | 
						|
                "downloading",
 | 
						|
                "drag",
 | 
						|
                "dragend",
 | 
						|
                "dragenter",
 | 
						|
                "dragexit",
 | 
						|
                "dragleave",
 | 
						|
                "dragover",
 | 
						|
                "dragstart",
 | 
						|
                "drop",
 | 
						|
                "durationchange",
 | 
						|
                "emptied",
 | 
						|
                "encrypted",
 | 
						|
                "end",
 | 
						|
                "ended",
 | 
						|
                "enter",
 | 
						|
                "enterpictureinpicture",
 | 
						|
                "error",
 | 
						|
                "errorupdate",
 | 
						|
                "exit",
 | 
						|
                "filterchange",
 | 
						|
                "finish",
 | 
						|
                "focus",
 | 
						|
                "focusin",
 | 
						|
                "focusout",
 | 
						|
                "freeze",
 | 
						|
                "fullscreenchange",
 | 
						|
                "fullscreenerror",
 | 
						|
                "gesturechange",
 | 
						|
                "gestureend",
 | 
						|
                "gesturestart",
 | 
						|
                "gotpointercapture",
 | 
						|
                "hashchange",
 | 
						|
                "help",
 | 
						|
                "icecandidate",
 | 
						|
                "iceconnectionstatechange",
 | 
						|
                "icegatheringstatechange",
 | 
						|
                "inactive",
 | 
						|
                "input",
 | 
						|
                "invalid",
 | 
						|
                "keydown",
 | 
						|
                "keypress",
 | 
						|
                "keyup",
 | 
						|
                "languagechange",
 | 
						|
                "layoutcomplete",
 | 
						|
                "leavepictureinpicture",
 | 
						|
                "levelchange",
 | 
						|
                "load",
 | 
						|
                "loadeddata",
 | 
						|
                "loadedmetadata",
 | 
						|
                "loadend",
 | 
						|
                "loading",
 | 
						|
                "loadingdone",
 | 
						|
                "loadingerror",
 | 
						|
                "loadstart",
 | 
						|
                "losecapture",
 | 
						|
                "lostpointercapture",
 | 
						|
                "mark",
 | 
						|
                "message",
 | 
						|
                "messageerror",
 | 
						|
                "mousedown",
 | 
						|
                "mouseenter",
 | 
						|
                "mouseleave",
 | 
						|
                "mousemove",
 | 
						|
                "mouseout",
 | 
						|
                "mouseover",
 | 
						|
                "mouseup",
 | 
						|
                "mousewheel",
 | 
						|
                "move",
 | 
						|
                "moveend",
 | 
						|
                "movestart",
 | 
						|
                "mozfullscreenchange",
 | 
						|
                "mozfullscreenerror",
 | 
						|
                "mozorientationchange",
 | 
						|
                "mozpointerlockchange",
 | 
						|
                "mozpointerlockerror",
 | 
						|
                "mscontentzoom",
 | 
						|
                "msfullscreenchange",
 | 
						|
                "msfullscreenerror",
 | 
						|
                "msgesturechange",
 | 
						|
                "msgesturedoubletap",
 | 
						|
                "msgestureend",
 | 
						|
                "msgesturehold",
 | 
						|
                "msgesturestart",
 | 
						|
                "msgesturetap",
 | 
						|
                "msgotpointercapture",
 | 
						|
                "msinertiastart",
 | 
						|
                "mslostpointercapture",
 | 
						|
                "msmanipulationstatechanged",
 | 
						|
                "msneedkey",
 | 
						|
                "msorientationchange",
 | 
						|
                "mspointercancel",
 | 
						|
                "mspointerdown",
 | 
						|
                "mspointerenter",
 | 
						|
                "mspointerhover",
 | 
						|
                "mspointerleave",
 | 
						|
                "mspointermove",
 | 
						|
                "mspointerout",
 | 
						|
                "mspointerover",
 | 
						|
                "mspointerup",
 | 
						|
                "mssitemodejumplistitemremoved",
 | 
						|
                "msthumbnailclick",
 | 
						|
                "negotiationneeded",
 | 
						|
                "nomatch",
 | 
						|
                "noupdate",
 | 
						|
                "obsolete",
 | 
						|
                "offline",
 | 
						|
                "online",
 | 
						|
                "open",
 | 
						|
                "orientationchange",
 | 
						|
                "pagechange",
 | 
						|
                "pagehide",
 | 
						|
                "pageshow",
 | 
						|
                "paste",
 | 
						|
                "pause",
 | 
						|
                "play",
 | 
						|
                "playing",
 | 
						|
                "pluginstreamstart",
 | 
						|
                "pointercancel",
 | 
						|
                "pointerdown",
 | 
						|
                "pointerenter",
 | 
						|
                "pointerleave",
 | 
						|
                "pointerlockchange",
 | 
						|
                "pointerlockerror",
 | 
						|
                "pointermove",
 | 
						|
                "pointerout",
 | 
						|
                "pointerover",
 | 
						|
                "pointerup",
 | 
						|
                "popstate",
 | 
						|
                "progress",
 | 
						|
                "propertychange",
 | 
						|
                "ratechange",
 | 
						|
                "reading",
 | 
						|
                "readystatechange",
 | 
						|
                "rejectionhandled",
 | 
						|
                "removesourcebuffer",
 | 
						|
                "removestream",
 | 
						|
                "removetrack",
 | 
						|
                "reset",
 | 
						|
                "resize",
 | 
						|
                "resizeend",
 | 
						|
                "resizestart",
 | 
						|
                "resourcetimingbufferfull",
 | 
						|
                "result",
 | 
						|
                "resume",
 | 
						|
                "rowenter",
 | 
						|
                "rowexit",
 | 
						|
                "rowsdelete",
 | 
						|
                "rowsinserted",
 | 
						|
                "scroll",
 | 
						|
                "search",
 | 
						|
                "seeked",
 | 
						|
                "seeking",
 | 
						|
                "select",
 | 
						|
                "selectionchange",
 | 
						|
                "selectstart",
 | 
						|
                "show",
 | 
						|
                "signalingstatechange",
 | 
						|
                "soundend",
 | 
						|
                "soundstart",
 | 
						|
                "sourceclose",
 | 
						|
                "sourceclosed",
 | 
						|
                "sourceended",
 | 
						|
                "sourceopen",
 | 
						|
                "speechend",
 | 
						|
                "speechstart",
 | 
						|
                "stalled",
 | 
						|
                "start",
 | 
						|
                "statechange",
 | 
						|
                "stop",
 | 
						|
                "storage",
 | 
						|
                "storagecommit",
 | 
						|
                "submit",
 | 
						|
                "success",
 | 
						|
                "suspend",
 | 
						|
                "textinput",
 | 
						|
                "timeout",
 | 
						|
                "timeupdate",
 | 
						|
                "toggle",
 | 
						|
                "touchcancel",
 | 
						|
                "touchend",
 | 
						|
                "touchmove",
 | 
						|
                "touchstart",
 | 
						|
                "track",
 | 
						|
                "transitioncancel",
 | 
						|
                "transitionend",
 | 
						|
                "transitionrun",
 | 
						|
                "transitionstart",
 | 
						|
                "unhandledrejection",
 | 
						|
                "unload",
 | 
						|
                "updateready",
 | 
						|
                "upgradeneeded",
 | 
						|
                "userproximity",
 | 
						|
                "versionchange",
 | 
						|
                "visibilitychange",
 | 
						|
                "voiceschanged",
 | 
						|
                "volumechange",
 | 
						|
                "vrdisplayactivate",
 | 
						|
                "vrdisplayconnect",
 | 
						|
                "vrdisplaydeactivate",
 | 
						|
                "vrdisplaydisconnect",
 | 
						|
                "vrdisplaypresentchange",
 | 
						|
                "waiting",
 | 
						|
                "waitingforkey",
 | 
						|
                "warning",
 | 
						|
                "webkitanimationend",
 | 
						|
                "webkitanimationiteration",
 | 
						|
                "webkitanimationstart",
 | 
						|
                "webkitcurrentplaybacktargetiswirelesschanged",
 | 
						|
                "webkitfullscreenchange",
 | 
						|
                "webkitfullscreenerror",
 | 
						|
                "webkitkeyadded",
 | 
						|
                "webkitkeyerror",
 | 
						|
                "webkitkeymessage",
 | 
						|
                "webkitneedkey",
 | 
						|
                "webkitorientationchange",
 | 
						|
                "webkitplaybacktargetavailabilitychanged",
 | 
						|
                "webkitpointerlockchange",
 | 
						|
                "webkitpointerlockerror",
 | 
						|
                "webkitresourcetimingbufferfull",
 | 
						|
                "webkittransitionend",
 | 
						|
                "wheel",
 | 
						|
                "zoom",
 | 
						|
            ].forEach(function(type) {
 | 
						|
                [
 | 
						|
                    "beforeunloadevent",
 | 
						|
                    "compositionevent",
 | 
						|
                    "customevent",
 | 
						|
                    "devicemotionevent",
 | 
						|
                    "deviceorientationevent",
 | 
						|
                    "dragevent",
 | 
						|
                    "event",
 | 
						|
                    "events",
 | 
						|
                    "focusevent",
 | 
						|
                    "hashchangeevent",
 | 
						|
                    "htmlevents",
 | 
						|
                    "keyboardevent",
 | 
						|
                    "messageevent",
 | 
						|
                    "mouseevent",
 | 
						|
                    "mouseevents",
 | 
						|
                    "storageevent",
 | 
						|
                    "svgevents",
 | 
						|
                    "textevent",
 | 
						|
                    "touchevent",
 | 
						|
                    "uievent",
 | 
						|
                    "uievents",
 | 
						|
                ].forEach(function(interface) {
 | 
						|
                    try {
 | 
						|
                        var event = document.createEvent(interface);
 | 
						|
                        event.initEvent(type, true, true);
 | 
						|
                        scan(event);
 | 
						|
                    } catch (e) {}
 | 
						|
                });
 | 
						|
            });
 | 
						|
 | 
						|
            var obj;
 | 
						|
            while (obj = to_scan.shift()) {
 | 
						|
                var proto = obj;
 | 
						|
                do {
 | 
						|
                    Object.getOwnPropertyNames(proto).forEach(function(name) {
 | 
						|
                        var visited = ~names.indexOf(name);
 | 
						|
                        if (!visited) names.push(name);
 | 
						|
                        try {
 | 
						|
                            scan(obj[name]);
 | 
						|
                            if (visited) return;
 | 
						|
                            if (/^create/.test(name)) {
 | 
						|
                                scan(obj[name]());
 | 
						|
                            }
 | 
						|
                            if (/^[A-Z]/.test(name)) {
 | 
						|
                                scan(new obj[name]());
 | 
						|
                            }
 | 
						|
                        } catch (e) {}
 | 
						|
                    });
 | 
						|
                } while (proto = Object.getPrototypeOf(proto));
 | 
						|
            }
 | 
						|
            names.sort();
 | 
						|
            document.write('<pre>[\n    "');
 | 
						|
            document.write(names.join('",\n    "'));
 | 
						|
            document.write('"\n]</pre>');
 | 
						|
        }();
 | 
						|
    </script>
 | 
						|
</body>
 | 
						|
</html>
 |