Jump to content

User:Opencooper/svgReplace.js

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Opencooper (talk | contribs) at 06:19, 2 September 2019 (add license). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
Note: After saving, you have to bypass your browser's cache to see the changes. Google Chrome, Firefox, Microsoft Edge and Safari: Hold down the ⇧ Shift key and click the Reload toolbar button. For details and instructions about other browsers, see Wikipedia:Bypass your cache.
// Crudely replaces all PNG thumbnails for SVG files with their actual SVGs
// Warning: does not check for browser SVG support;
//          Also downloads SVG files in addition to PNGs, so shouldn't be used
//          by the bandwidth-conscious 
// License: CC0
function replaceSvg() {
    if (!(mw.config.get('wgAction') === 'view' && mw.config.get('wgIsArticle'))) {
        return;
    }
	
	alert("ran");
	
    $("#bodyContent img").each(function() {
        var src = $(this).attr("src");
        var srcset = $(this).attr("srcset");
        
        if (/.*.svg.png/.test(src)) {
            // Regex will break if thumbnail URL structure changes
            src = src.replace(/(\/\/.*)\/thumb(.*.svg).*.svg.png/, "$1$2");
            $(this).attr("src", src);
            srcset = srcset.replace(/(\/\/.*?)\/thumb(.*?.svg).*?.svg.png/g, "$1$2");
            $(this).attr("srcset", srcset);
        }
    });
}

$(replaceSvg);