forked from GNUsocial/gnu-social
		
	
		
			
	
	
		
			36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
		
		
			
		
	
	
			36 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
|   | javascript:(function() { | ||
|  |     var d = document | ||
|  |        ,uris = [] | ||
|  |        ,i = 0 | ||
|  |        ,o | ||
|  |        ,home = (location + '').split('/').splice(0, 3).join('/') + '/'; | ||
|  |     function add(uri) { | ||
|  |         return (0 === uri.indexOf(home)) | ||
|  |             && (!/[\?&]/.test(uri)) | ||
|  |             && uris.push(escape(uri.substr(home.length))); | ||
|  |     }; | ||
|  |     function sheet(ss) { | ||
|  |         // we must check the domain with add() before accessing ss.cssRules
 | ||
|  |         // otherwise a security exception will be thrown
 | ||
|  |         if (ss.href && add(ss.href) && ss.cssRules) { | ||
|  |             var i = 0, r; | ||
|  |             while (r = ss.cssRules[i++]) | ||
|  |                 r.styleSheet && sheet(r.styleSheet); | ||
|  |         } | ||
|  |     }; | ||
|  |     while (o = d.getElementsByTagName('script')[i++]) | ||
|  |         o.src && !(o.type && /vbs/i.test(o.type)) && add(o.src); | ||
|  |     i = 0; | ||
|  |     while (o = d.styleSheets[i++]) | ||
|  |     /* http://www.w3.org/TR/DOM-Level-2-Style/stylesheets.html#StyleSheets-DocumentStyle-styleSheets | ||
|  |     document.styleSheet is a list property where [0] accesses the 1st element and  | ||
|  |     [outOfRange] returns null. In IE, styleSheets is a function, and also throws an  | ||
|  |     exception when you check the out of bounds index. (sigh) */ | ||
|  |         sheet(o); | ||
|  |     if (uris.length) | ||
|  |         window.open('%BUILDER_URL%#' + uris.join(',')); | ||
|  |     else | ||
|  |         alert('No js/css files found with URLs within "'  | ||
|  |             + home.split('/')[2] | ||
|  |             + '".\n(This tool is limited to URLs with the same domain.)'); | ||
|  | })(); |