<!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>