2023年政策修订增补工作正在进行中,欢迎参与!
微件討論: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)