Skip to content

Commit 0355e9c

Browse files
committed
修复 [屏蔽指定域名] 失效的问题
1 parent 4098827 commit 0355e9c

1 file changed

Lines changed: 20 additions & 16 deletions

File tree

DuckDuckGo-Enhanced.user.js

Lines changed: 20 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
// @name:zh-CN DuckDuckGo 增强
44
// @name:zh-TW DuckDuckGo 增強
55
// @name:en DuckDuckGo Enhancements
6-
// @version 1.0.1
6+
// @version 1.0.2
77
// @author X.I.U
88
// @description 屏蔽指定域名、修复图标加载、链接不携来源、快捷回到顶部(右键两侧空白处)
99
// @description:zh-CN 简单有效的全网通用护眼模式(夜间模式、暗黑模式、深色模式)
@@ -18,7 +18,7 @@
1818
// @grant GM_setValue
1919
// @grant GM_notification
2020
// @license GPL-3.0 License
21-
// @run-at document-end
21+
// @run-at document-idle
2222
// @namespace https://github.com/XIU2/UserScript
2323
// @supportURL https://github.com/XIU2/UserScript
2424
// @homepageURL https://github.com/XIU2/UserScript
@@ -56,7 +56,7 @@
5656
};
5757

5858

59-
document.documentElement.appendChild(document.createElement('style')).textContent = '.blockDomainBtn {padding: 0 8px !important; font-size: 12px !important; line-height: normal !important; margin-left: 10px !important; border-radius: 3px !important; vertical-align: top !important; opacity: 0.4 !important; top: 3px; cursor: cell;} .result.result--sep--hr {display: none;}';
59+
document.documentElement.appendChild(document.createElement('style')).textContent = '.blockDomainBtn {padding: 0 8px !important; font-size: 12px !important; line-height: normal !important; margin-left: 10px !important; border-radius: 3px !important; vertical-align: top !important; opacity: 0.4 !important; top: 3px; cursor: cell;} .result.result--sep--hr {display: none;} a[data-testid="result-title-a"]{display: inline-block}';
6060
mutationObserver(); // 屏蔽指定域名 + 修复图标加载 + 链接不携来源
6161
backToTop(); // 快捷回到顶部
6262

@@ -84,17 +84,21 @@
8484
if (target.nodeType != 1) break
8585

8686
// 屏蔽指定域名
87-
if (target.dataset.domain && checkDomain(target.dataset.domain)) {target.remove(); break;}
88-
87+
if (target.dataset.nrn === 'result') {
88+
const a=target.querySelector('h2>a,a[data-testid="result-title-a]"')
89+
if (a && checkDomain(a.href.split('/')[2])) {
90+
target.remove(); break;
91+
} else {
92+
// 链接不携来源
93+
addRel(target);
94+
95+
// 添加屏蔽按钮
96+
addBlockDomainBtn(target, a, a.href.split('/')[2]);
97+
}
98+
}
8999
// 修复图标加载
90-
let img = target.querySelector('img.result__icon__img[data-src]'); // 寻找图标元素
91-
if (img && !img.src) img.src = img.dataset.src
92-
93-
// 链接不携来源
94-
addRel(target);
95-
96-
// 添加屏蔽按钮
97-
addBlockDomainBtn(target, target.dataset.domain);
100+
//let img = target.querySelector('img.result__icon__img[data-src]'); // 寻找图标元素
101+
//if (img && !img.src) img.src = img.dataset.src
98102
}
99103
}
100104
};
@@ -120,9 +124,9 @@
120124

121125

122126
// 添加屏蔽按钮
123-
function addBlockDomainBtn(doc, domain) {
127+
function addBlockDomainBtn(doc, toElement, domain) {
124128
if (!GM_getValue('menu_blockDomainBtn')) return
125-
let toElement = doc.querySelector('a.result__url');
129+
//let toElement = doc.querySelector('a.result__url');
126130
if (toElement) {
127131
toElement.insertAdjacentHTML('afterend', `<button class="btn blockDomainBtn" data-domain="${domain}" title="点击在搜索结果中屏蔽 [ ${domain} ] 域名">屏蔽</button>`);
128132
doc.querySelector('button.blockDomainBtn').addEventListener('click', function(e) {
@@ -132,7 +136,7 @@
132136
blockDomain.push(e.target.dataset.domain)
133137
GM_setValue('menu_blockDomain', blockDomain);
134138
// 隐藏该域名的所有搜索结果
135-
document.querySelectorAll(`#links > div[data-domain="${e.target.dataset.domain}"]`).forEach(function(one){one.style.display = 'none'})
139+
document.querySelectorAll(`button[data-domain="${e.target.dataset.domain}"].blockDomainBtn`).forEach(function(one){one.parentElement.parentElement.parentElement.parentElement.remove();})
136140
});
137141
}
138142
}

0 commit comments

Comments
 (0)