2023年政策修订增补工作正在进行中,欢迎参与!
  • Moegirl.ICU:萌娘百科流亡社群 581077156(QQ),欢迎对萌娘百科运营感到失望的编辑者加入
  • Moegirl.ICU:账号认领正在试运行,有意者请参照账号认领流程

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)