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