任何人都可以编辑这个页面!
如需修改JS代码,请将其存放在User:Star00/skinjump.js/sandbox并通知Star0。
使用此脚本会出现报错,现代码已删除。
皮肤自动切换及链接自动转换工具脚本。
在个人全局自定义JavaScript中添加下列代码以启用。只有在移动视图下才能正常使用,初次加载会正常切换。
mw.loader.load('//minecraft.fandom.com/zh/wiki/User:Star00/skinjump.js?action=raw&ctype=text/javascript');
功能
- 如果皮肤不是Vector,将跳转页面,切换为Vector状态;
- 将所有链接替换为跳转到Vector状态的链接(替换完成时,页面顶端的信息条会显示珊瑚色的加载完成字样);
- 第一次进入站点时会进行跳转,但之后因链接替换就无需刷新加载了。
注意事项
- 需要等待页面完全加载,链接才能被自动替换。如果过早点击,会变为FandomDesktop皮肤然后又自动刷新切换。
- 目前此脚本出于测试阶段,请注意因意外导致编辑丢失等意外情况发生。
- 编辑预览状态不会跳转。建议使用快速编辑脚本。
- 如有发生问题请在本页面讨论页说明。
已知问题
- 添加了内链章节跳转的适配,但不知道还会不会有问题。
Fork
- User:Anterdc99/skinjump.js
- User:AblazeVase69188/skinjump.js,改版用于解决无法正常切换回桌面版视图的问题。
- Firefox或Safari:按住Shift的同时单击刷新,或按Ctrl-F5或Ctrl-R(Mac为⌘-R)
- Google Chrome:按Ctrl-Shift-R(Mac为⌘-Shift-R)
- Internet Explorer:按住Ctrl的同时单击刷新,或按Ctrl-F5
- Opera:前往菜单 → 设置(Mac为Opera → 选项),然后隐私和安全 → 清除浏览数据 → 缓存的图片和文件。
function urlSuffixAdd(url) {
if (url.search(/\?.*\=/) != -1) {
return url.replace(/(^[^#]*)/, "$1&useskin=vector")
} else {
return url.replace(/(^[^#]*)/, "$1?useskin=vector")
}
};
function linkReplace() {
var target = document.getElementById('ca-talk') || document.getElementById('ca-user_talk');
var instruct = document.createElement('li');
instruct.className = 'new';
var span = document.createElement('span');
var a = document.createElement('a');
a.href = 'javascript:location.reload();';
span.appendChild(a);
var text = document.createTextNode('加载中');
a.appendChild(text);
instruct.appendChild(span);
target.parentNode.appendChild(instruct);
var as = document.getElementsByTagName('a');
for (var i = 0, j = as.length; i < j; i++) {
as[i].href = urlSuffixAdd(as[i].href)
};
text.nodeValue = '加载完成';
a.href = 'javascript:;';
a.style.color = 'coral';
}
(function() {
const url = window.location.href;
if (url.search('useskin=vector') == -1 && url.search('action=submit') == -1) {
location.replace(urlSuffixAdd(url))
} else {
linkReplace()
};
if (document.getElementById('skin-fandomdesktop')) {
document.getElementByClass('firstHeading').innerHTML = '请切换至移动视图以启用Vector'
}
})();