You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							61 lines
						
					
					
						
							1.6 KiB
						
					
					
				
			
		
		
	
	
							61 lines
						
					
					
						
							1.6 KiB
						
					
					
				<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>
 | 
						|
 |