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.)');
 | |
| })(); |