User:A2569875-sandbox/SVGFix.js

维基百科,自由的百科全书

注意:保存之后,你必须清除浏览器缓存才能看到做出的更改。Google ChromeFirefoxMicrosoft EdgeSafari:按住⇧ Shift键并单击工具栏的“刷新”按钮。参阅Help:绕过浏览器缓存以获取更多帮助。

(function($, mw) {
	var imgs = $('a.image');
	var svgs = [];
	var svg_wikitext = "";
	for(var i=0; i<imgs.length; ++i){
		if(/\.svg$/.exec(imgs[i].href)){
			var filename = (/\/wiki\/.+/.exec(imgs[i].href)||[""])[0].replace(/^\/?wiki\/[^:]+:/,'').trim();
			if(filename != ""){
				svgs.push(imgs[i]);
				svg_wikitext += $('<span>').attr('id',svgs.length - 1).html('[[Media:' + filename + ']]').prop('outerHTML');
			}
		}
	}
	var params = {
	    action: 'parse',
		text: svg_wikitext,
	    format: 'json'
	};
	var api = new mw.Api();
	
	api.get(params).done(data => {
		var $svg_paths = $(data.parse.text[0] || data.parse.text['*'] || '');
		if(($svg_paths.length || 0) > 0){
			var svg_paths = $svg_paths.find("span");
			for(var i=0; i<svg_paths.length; ++i){
				var $it = $(svg_paths[i]);
				var $link = $it.find("a");
				var id = $it.attr('id');
				if(svgs[id]){
					var svglink = $link.attr('href');
					var $img_item = $(svgs[id]).find("img");
					$img_item.attr('src', svglink);
					$img_item.attr('srcset', svglink);
					/*$.ajax({
					  url:$link.attr('href'),
					  method:'get',
					  success:function(res){console.log(res)},
					  error:function(err){console.log(err)},
					});*/
					
				}
			}
		}
	    
	});
})(jQuery, mw);