-1

我抓起一些小脚本并将它们拼凑在一起,以采用 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;
    }
})();
4

2 回答 2

0

脚本不会像 bobby 所说的那样工作。

从用户脚本存储库中尝试这个油脂猴子脚本。

翻录谷歌图片搜索:- http://userscripts.org/scripts/show/111342

于 2011-12-04T04:09:28.753 回答
0

Google 将图像表架的“ImgContent”ID 更改为稍微模糊的东西。一个快速的改变让一切恢复正常。通过查看简单的东西,我把一个简单的问题复杂化了。感谢 darvids0n 的支持,他最终指出了我所缺少的。

于 2011-10-10T00:25:23.990 回答