62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			HTML
		
	
	
	
	
	
| <html>
 | |
|   <head>
 | |
|   </head>
 | |
|   <body>
 | |
|     <script>(function(){
 | |
|       var props = {};
 | |
| 
 | |
|       function addObject(obj) {
 | |
|         if (obj == null) return;
 | |
|         try {
 | |
|           Object.getOwnPropertyNames(obj).forEach(add);
 | |
|         } catch(ex) {}
 | |
|         if (obj.prototype) {
 | |
|           Object.getOwnPropertyNames(obj.prototype).forEach(add);
 | |
|         }
 | |
|         if (typeof obj == "function") {
 | |
|           try {
 | |
|             Object.getOwnPropertyNames(new obj).forEach(add);
 | |
|           } catch(ex) {}
 | |
|         }
 | |
|       }
 | |
| 
 | |
|       function add(name) {
 | |
|         props[name] = true;
 | |
|       }
 | |
| 
 | |
|       Object.getOwnPropertyNames(window).forEach(function(thing){
 | |
|         addObject(window[thing]);
 | |
|       });
 | |
| 
 | |
|       try {
 | |
|         addObject(new Event("click"));
 | |
|         addObject(new Event("contextmenu"));
 | |
|         addObject(new Event("mouseup"));
 | |
|         addObject(new Event("mousedown"));
 | |
|         addObject(new Event("keydown"));
 | |
|         addObject(new Event("keypress"));
 | |
|         addObject(new Event("keyup"));
 | |
|       } catch(ex) {}
 | |
| 
 | |
|       var ta = document.createElement("textarea");
 | |
|       ta.style.width = "100%";
 | |
|       ta.style.height = "20em";
 | |
|       ta.style.boxSizing = "border-box";
 | |
|       <!-- ta.value = Object.keys(props).sort(cmp).map(function(name){ -->
 | |
|       <!--   return JSON.stringify(name); -->
 | |
|       <!-- }).join(",\n"); -->
 | |
|       ta.value = JSON.stringify({
 | |
|         vars: [],
 | |
|         props: Object.keys(props).sort(cmp)
 | |
|       }, null, 2);
 | |
|       document.body.appendChild(ta);
 | |
| 
 | |
|       function cmp(a, b) {
 | |
|         a = a.toLowerCase();
 | |
|         b = b.toLowerCase();
 | |
|         return a < b ? -1 : a > b ? 1 : 0;
 | |
|       }
 | |
|     })();</script>
 | |
|   </body>
 | |
| </html>
 |