1
0
mirror of https://github.com/mrclay/minify.git synced 2025-08-11 16:44:44 +02:00

Improved builder bookmarklet

This commit is contained in:
Steve Clay
2008-09-07 02:19:16 +00:00
parent 9a5a67dfaf
commit c85877266e

View File

@@ -1,22 +1,23 @@
javascript:(function() {
function add(uri) {
(0 === uri.indexOf(home))
&& (!/[\?&]/.test(uri))
&& uris.push(escape(uri.substr(home.length)));
}
function sheet(ss) {
ss.href && add(ss.href);
if (ss.cssRules) {
var i = 0, r;
while (r = ss.cssRules[i++])
r.styleSheet && sheet(r.styleSheet);
}
}
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;
@@ -25,5 +26,7 @@ javascript:(function() {
if (uris.length)
window.open('%BUILDER_URL%#' + uris.join(','));
else
alert('No minifiable resources found.');
alert('No js/css files found with URLs within "'
+ home.split('/')[2]
+ '".\n(This tool is limited to URLs with the same domain.)');
})();