Search code examples
imagehyperlinkgreasemonkeyjavascript

How to replace image links with img src url in Greasemonkey


From the title this may sound like a duplicate question. But what I am asking for is help writing a Greasemonkey script that takes all images containing the word "thumbnails" in the src url, replaces "thumbnails" with "images" but then putting the new url into the href (target) url.

What I have so far is:

    for(var iImage=0;iImage<document.images.length;iImage++){
    var imageUrl = document.images[iImage].src;

    if (imageUrl.indexOf("thumbnails") != -1) {
        imageUrl = imageUrl.replace("thumbnails","images")
        document.images[iImage].href = imageUrl;
    }
}

Any help would be appreciated.


Solution

  • img tags cant have href, however you can append them into an anchor tag with href attribute:

    for(var iImage=0;iImage<document.images.length;iImage++){
        var imageUrl = document.images[iImage].src;
    
        if (imageUrl.indexOf("thumbnails") != -1) {
            imageUrl = imageUrl.replace("thumbnails","images");
            document.images[iImage].outerHTML = '<a href ="' +
                                  + imageUrl + '" >' 
                                  + document.images[iImage].outerHTML + '</a>';
    
        }
    }