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