2023年政策修订增补工作正在进行中,欢迎参与!
Widget talk:NoReferer
跳转到导航
跳转到搜索
编辑请求 - Bhsd - 2022.03.21
由Bhsd提出的对Widget:NoReferer的编辑请求:
- 状态: 完成
将以下内容:
domains.add(d);
修改为:
if (d) {
domains.add(d);
}
排除空字符串。————移动版用户 Bhsd 2022年3月22日 (二) 06:12 (CST)
- Done. —— ほしみ 2022年3月22日 (二) 09:21 (CST)
编辑请求 - Bhsd - 2022.12.05
由Bhsd提出的对Widget:NoReferer的编辑请求:
- 状态: 完成
将以下内容:
$("img").each((_, ele) => {
const url = new mw.Uri(ele.src);
for (const domain of domains.values()) {
if (url.host.includes(domain)) {
ele.setAttribute("referrerpolicy", "no-referrer");
url.protocol = "https";
url.query._ = Math.random();
ele.src = url;
return;
}
}
});
修改为:
const callback = records => {
for (const {target} of records) {
if (target.dataset.lazyState === 'fail') {
target.src = target.dataset.lazySrc;
}
}
},
observer = new MutationObserver(callback);
$("img").each((_, ele) => {
const url = new mw.Uri(ele.src || ele.dataset.lazySrc);
if ([...domains].some(domain => url.host.includes(domain))) {
ele.setAttribute("referrerpolicy", "no-referrer");
url.protocol = "https";
url.query._ = Math.random();
if (ele.src || ele.dataset.lazyState === 'fail') {
ele.src = url;
} else {
ele.dataset.lazySrc = url;
observer.observe(ele, {attributes: true, attributeFilter: ["data-lazy-state"]});
}
}
});
临时修复使用Chrome浏览器和MoeSkin皮肤时无法加载图片的错误,参见讨论版。————移动版用户 Bhsd 2022年12月5日 (一) 19:03 (CST)
- Done. —— ほしみ 2022年12月7日 (三) 00:38 (CST)