457 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
		
		
			
		
	
	
			457 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
|  | <!doctype html> | ||
|  | <html> | ||
|  | <body> | ||
|  |     <script> | ||
|  |         !function(G) { | ||
|  |             var domprops = []; | ||
|  |             var objs = [ G ]; | ||
|  |             var tagNames = [ | ||
|  |                 "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", | ||
|  |                 "nextid", | ||
|  |                 "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", | ||
|  |                 "slot", | ||
|  |                 "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", | ||
|  |             ]; | ||
|  |             for (var n = 0; n < tagNames.length; n++) { | ||
|  |                 add(document.createElement(tagNames[n])); | ||
|  |             } | ||
|  |             var nsNames = { | ||
|  |                 "http://www.w3.org/1998/Math/MathML": [ | ||
|  |                     "annotation", | ||
|  |                     "annotation-xml", | ||
|  |                     "maction", | ||
|  |                     "maligngroup", | ||
|  |                     "malignmark", | ||
|  |                     "math", | ||
|  |                     "menclose", | ||
|  |                     "merror", | ||
|  |                     "mfenced", | ||
|  |                     "mfrac", | ||
|  |                     "mglyph", | ||
|  |                     "mi", | ||
|  |                     "mlabeledtr", | ||
|  |                     "mlongdiv", | ||
|  |                     "mmultiscripts", | ||
|  |                     "mn", | ||
|  |                     "mo", | ||
|  |                     "mover", | ||
|  |                     "mpadded", | ||
|  |                     "mphantom", | ||
|  |                     "mprescripts", | ||
|  |                     "mroot", | ||
|  |                     "mrow", | ||
|  |                     "ms", | ||
|  |                     "mscarries", | ||
|  |                     "mscarry", | ||
|  |                     "msgroup", | ||
|  |                     "msline", | ||
|  |                     "mspace", | ||
|  |                     "msqrt", | ||
|  |                     "msrow", | ||
|  |                     "mstack", | ||
|  |                     "mstyle", | ||
|  |                     "msub", | ||
|  |                     "msubsup", | ||
|  |                     "msup", | ||
|  |                     "mtable", | ||
|  |                     "mtd", | ||
|  |                     "mtext", | ||
|  |                     "mtr", | ||
|  |                     "munder", | ||
|  |                     "munderover", | ||
|  |                     "none", | ||
|  |                     "semantics", | ||
|  |                 ], | ||
|  |                 "http://www.w3.org/2000/svg": [ | ||
|  |                     "a", | ||
|  |                     "altGlyph", | ||
|  |                     "altGlyphDef", | ||
|  |                     "altGlyphItem", | ||
|  |                     "animate", | ||
|  |                     "animateColor", | ||
|  |                     "animateMotion", | ||
|  |                     "animateTransform", | ||
|  |                     "circle", | ||
|  |                     "clipPath", | ||
|  |                     "color-profile", | ||
|  |                     "cursor", | ||
|  |                     "defs", | ||
|  |                     "desc", | ||
|  |                     "discard", | ||
|  |                     "ellipse", | ||
|  |                     "feBlend", | ||
|  |                     "feColorMatrix", | ||
|  |                     "feComponentTransfer", | ||
|  |                     "feComposite", | ||
|  |                     "feConvolveMatrix", | ||
|  |                     "feDiffuseLighting", | ||
|  |                     "feDisplacementMap", | ||
|  |                     "feDistantLight", | ||
|  |                     "feDropShadow", | ||
|  |                     "feFlood", | ||
|  |                     "feFuncA", | ||
|  |                     "feFuncB", | ||
|  |                     "feFuncG", | ||
|  |                     "feFuncR", | ||
|  |                     "feGaussianBlur", | ||
|  |                     "feImage", | ||
|  |                     "feMerge", | ||
|  |                     "feMergeNode", | ||
|  |                     "feMorphology", | ||
|  |                     "feOffset", | ||
|  |                     "fePointLight", | ||
|  |                     "feSpecularLighting", | ||
|  |                     "feSpotLight", | ||
|  |                     "feTile", | ||
|  |                     "feTurbulence", | ||
|  |                     "filter", | ||
|  |                     "font", | ||
|  |                     "font-face", | ||
|  |                     "font-face-format", | ||
|  |                     "font-face-name", | ||
|  |                     "font-face-src", | ||
|  |                     "font-face-uri", | ||
|  |                     "foreignObject", | ||
|  |                     "g", | ||
|  |                     "glyph", | ||
|  |                     "glyphRef", | ||
|  |                     "hatch", | ||
|  |                     "hatchpath", | ||
|  |                     "hkern", | ||
|  |                     "image", | ||
|  |                     "line", | ||
|  |                     "linearGradient", | ||
|  |                     "marker", | ||
|  |                     "mask", | ||
|  |                     "mesh", | ||
|  |                     "meshgradient", | ||
|  |                     "meshpatch", | ||
|  |                     "meshrow", | ||
|  |                     "metadata", | ||
|  |                     "missing-glyph", | ||
|  |                     "mpath", | ||
|  |                     "path", | ||
|  |                     "pattern", | ||
|  |                     "polygon", | ||
|  |                     "polyline", | ||
|  |                     "radialGradient", | ||
|  |                     "rect", | ||
|  |                     "script", | ||
|  |                     "set", | ||
|  |                     "solidcolor", | ||
|  |                     "stop", | ||
|  |                     "style", | ||
|  |                     "svg", | ||
|  |                     "switch", | ||
|  |                     "symbol", | ||
|  |                     "text", | ||
|  |                     "textPath", | ||
|  |                     "title", | ||
|  |                     "tref", | ||
|  |                     "tspan", | ||
|  |                     "unknown", | ||
|  |                     "use", | ||
|  |                     "view", | ||
|  |                     "vkern", | ||
|  |                 ], | ||
|  |             }; | ||
|  |             if (document.createElementNS) for (var ns in nsNames) { | ||
|  |                 for (var n = 0; n < nsNames[ns].length; n++) { | ||
|  |                     add(document.createElementNS(ns, nsNames[ns][n])); | ||
|  |                 } | ||
|  |             } | ||
|  |             var skips = [ | ||
|  |                 G.alert, | ||
|  |                 G.back, | ||
|  |                 G.blur, | ||
|  |                 G.captureEvents, | ||
|  |                 G.clearImmediate, | ||
|  |                 G.clearInterval, | ||
|  |                 G.clearTimeout, | ||
|  |                 G.close, | ||
|  |                 G.confirm, | ||
|  |                 G.console, | ||
|  |                 G.dump, | ||
|  |                 G.fetch, | ||
|  |                 G.find, | ||
|  |                 G.focus, | ||
|  |                 G.forward, | ||
|  |                 G.getAttention, | ||
|  |                 G.history, | ||
|  |                 G.home, | ||
|  |                 G.location, | ||
|  |                 G.moveBy, | ||
|  |                 G.moveTo, | ||
|  |                 G.navigator, | ||
|  |                 G.open, | ||
|  |                 G.openDialog, | ||
|  |                 G.print, | ||
|  |                 G.process, | ||
|  |                 G.prompt, | ||
|  |                 G.resizeBy, | ||
|  |                 G.resizeTo, | ||
|  |                 G.setImmediate, | ||
|  |                 G.setInterval, | ||
|  |                 G.setTimeout, | ||
|  |                 G.showModalDialog, | ||
|  |                 G.sizeToContent, | ||
|  |                 G.stop, | ||
|  |             ]; | ||
|  |             var types = []; | ||
|  |             var interfaces = [ | ||
|  |                 "beforeunloadevent", | ||
|  |                 "compositionevent", | ||
|  |                 "customevent", | ||
|  |                 "devicemotionevent", | ||
|  |                 "deviceorientationevent", | ||
|  |                 "dragevent", | ||
|  |                 "event", | ||
|  |                 "events", | ||
|  |                 "focusevent", | ||
|  |                 "hashchangeevent", | ||
|  |                 "htmlevents", | ||
|  |                 "keyboardevent", | ||
|  |                 "messageevent", | ||
|  |                 "mouseevent", | ||
|  |                 "mouseevents", | ||
|  |                 "storageevent", | ||
|  |                 "svgevents", | ||
|  |                 "textevent", | ||
|  |                 "touchevent", | ||
|  |                 "uievent", | ||
|  |                 "uievents", | ||
|  |             ]; | ||
|  |             var i = 0, full = false; | ||
|  |             var addEvent = document.createEvent ? function(type) { | ||
|  |                 if (~indexOf(types, type)) return; | ||
|  |                 types.push(type); | ||
|  |                 for (var j = 0; j < interfaces.length; j++) try { | ||
|  |                     var event = document.createEvent(interfaces[j]); | ||
|  |                     event.initEvent(type, true, true); | ||
|  |                     add(event); | ||
|  |                 } catch (e) {} | ||
|  |             } : function() {}; | ||
|  |             var scanProperties = Object.getOwnPropertyNames ? function(o, fn) { | ||
|  |                 var names = Object.getOwnPropertyNames(o); | ||
|  |                 names.forEach(fn); | ||
|  |                 for (var k in o) if (!~indexOf(names, k)) fn(k); | ||
|  |             } : function(o, fn) { | ||
|  |                 for (var k in o) fn(k); | ||
|  |             }; | ||
|  |             setTimeout(function next() { | ||
|  |                 for (var j = 10; --j >= 0 && i < objs.length; i++) { | ||
|  |                     var o = objs[i]; | ||
|  |                     var skip = ~indexOf(skips, o); | ||
|  |                     try { | ||
|  |                         scanProperties(o, function(k) { | ||
|  |                             if (!~indexOf(domprops, k)) domprops.push(k); | ||
|  |                             if (/^on/.test(k)) addEvent(k.slice(2)); | ||
|  |                             if (!full) try { | ||
|  |                                 add(o[k]); | ||
|  |                             } catch (e) {} | ||
|  |                         }); | ||
|  |                     } catch (e) {} | ||
|  |                     if (skip || full) continue; | ||
|  |                     try { | ||
|  |                         add(o.__proto__); | ||
|  |                     } catch (e) {} | ||
|  |                     try { | ||
|  |                         add(o.prototype); | ||
|  |                     } catch (e) {} | ||
|  |                     try { | ||
|  |                         add(new o()); | ||
|  |                     } catch (e) {} | ||
|  |                     try { | ||
|  |                         add(o()); | ||
|  |                     } catch (e) {} | ||
|  |                 } | ||
|  |                 if (!full && objs.length > 20000) { | ||
|  |                     alert(objs.length); | ||
|  |                     full = true; | ||
|  |                 } | ||
|  |                 if (i < objs.length) { | ||
|  |                     setTimeout(next, 0); | ||
|  |                 } else { | ||
|  |                     document.write('<pre>[\n    "' + domprops.sort().join('",\n    "').replace(/&/g, "&").replace(/</g, "<") + '"\n]</pre>'); | ||
|  |                 } | ||
|  |             }, 0); | ||
|  | 
 | ||
|  |             function add(o) { | ||
|  |                 if (o) switch (typeof o) { | ||
|  |                 case "function": | ||
|  |                 case "object": | ||
|  |                     if (!~indexOf(objs, o)) objs.push(o); | ||
|  |                 } | ||
|  |             } | ||
|  | 
 | ||
|  |             function indexOf(list, value) { | ||
|  |                 var j = list.length; | ||
|  |                 while (--j >= 0) { | ||
|  |                     if (list[j] === value) break; | ||
|  |                 } | ||
|  |                 return j; | ||
|  |             } | ||
|  |         }(function() { | ||
|  |             return this; | ||
|  |         }()); | ||
|  |     </script> | ||
|  | </body> | ||
|  | </html> |