User:Xiplus/js/random-variant.js

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

/* eslint-disable no-console */
// <nowiki>
$(function() {
	var variantList = ['zh-cn', 'zh-tw', 'zh-hk', 'zh-mo', 'zh-sg', 'zh-my'];
	var pickVariant = function() {
		return variantList[Math.floor(Math.random() * variantList.length)];
	};

	var updateLinks = function() {
		$('a').each(function(i, e) {
			var shorthref = e.getAttribute('href') || '';
			if (shorthref.match(/^(|#)$/)) {
				return;
			}
			try {
				var url = new URL(e.href);
				if (url.host.match(/zh\.wikipedia\.org$/)) {
					url.searchParams.set('variant', pickVariant());
					e.href = url.href;
				}
			} catch (err) {
				console.error(e, err);
			}
		});
	};

	updateLinks();
});
// </nowiki>