forked from LeenkxTeam/LNXSDK
		
	
		
			
				
	
	
		
			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>
 |