Remove Gaia's image cache from the image source
目前為
// ==UserScript==
// @name No Image Cache
// @namespace gaiarch_v3
// @match http://*.gaiaonline.com/*
// @version 2.3.0
// @grant none
// @description Remove Gaia's image cache from the image source
// ==/UserScript==
(function() {
var recursiveCheck = function (elem, className) {
if (elem && elem.classList && elem.classList.contains(className)) {
return true;
} else {
if (elem.parentNode) {
return recursiveCheck(elem.parentNode, className);
}
else {
return false;
}
}
};
function noCache() {
var image = document.getElementsByTagName('img');
var regex = /(http:\/\/img-cache.cdn.gaiaonline.com\/[a-z0-9]+\/)/;
var img, res;
for(idx in image) {
img = image[idx];
res = regex.test(img.src);
if(res) {
img.src = decodeURIComponent(img.src.replace(regex,'').replace(/&/gi, '&'));
}
}
};
document.addEventListener('click', function (evt) {
if (recursiveCheck(evt.target, 'yui3-pjax')) {
new MutationObserver(function (mutations) {
mutations.some(function (mutation, idx, mutated) {
if (mutation.addedNodes.length === 21) {
for (var i = 0; i < mutation.addedNodes.length; i++) {
if (mutation.addedNodes[i].id === 'post_container') {
noCache();
console.log('changed')
break; // stop for-loop post_container search
};
};
return true; // stop iterating added nodes
};
});
this.disconnect(); // stop listening for changes on the target regardless if post_container exists
}).observe(document.querySelector('#content-padding'), {
childList: true
});
};
});
return noCache();
})();