Javascript для копирования изображений Google сломался с обновлением
Я взял несколько небольших сценариев и соединил их, чтобы взять новый макет изображения Google и вернуться к старому, затем взять изображения и заменить их полноразмерными версиями. Отлично работал до прошлой недели. Не уверен, что изменилось на стороне сервера.
(function() {
// Get list of all anchor tags that have an href attribute containing the start and stop key strings.
var fullImgUrls = selectNodes(document, document.body, "//a[contains(@href,'/imgres?imgurl\x3d')][contains(@href,'\x26imgrefurl=')]");
//clear existing markup
var imgContent = document.getElementById('ImgContent');
imgContent.innerHTML = "";
for(var x=1; x<=fullImgUrls.length; x++) {
//reverse X to show images in correct order using .insertBefore imgContent.nextSibling
var reversedX = (fullImgUrls.length) - x;
// get url using regexp
var fullUrl = fullImgUrls[reversedX].href.match( /\/imgres\?imgurl\=(.*?)\&imgrefurl\=(.*?)\&usg/ );
// if url was fetched, create img with fullUrl src
if(fullUrl) {
newLink = document.createElement('a');
imgContent.parentNode.insertBefore(newLink , imgContent.nextSibling);
newLink.href = unescape(fullUrl[2]);
newElement = document.createElement('img');
newLink.appendChild(newElement);
newElement.src = decodeURI(fullUrl[1]);
newElement.border = 0;
newElement.title = fullUrl[2];
}
}
function selectNodes(document, context, xpath) {
var nodes = document.evaluate(xpath, context, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null);
var result = [];
for (var x=0; x<nodes.snapshotLength; x++) {
result.push(nodes.snapshotItem(x));
}
return result;
}
})();
2 ответа
Google изменил идентификатор ImgContent для держателя таблицы изображений на что-то более неясное. У быстрой перемены все снова заработало. Я сделал простую проблему сложной, глядя сквозь легкие вещи. Спасибо darvids0n за поддержку, он в конечном итоге указал на то, что мне не хватало.
Сценарий не будет работать, как сказал Бобби.
попробуйте этот сценарий обезьяны смазки из хранилища пользовательских сценариев.