![](/img/trans.png)
[英]How can I prevent certain links from making my page revert back to old information?
[英]How can I create a Tampermonkey script that will prevent certain parts of a page from being links?
我需要从这样的页面快速选择、复制和粘贴文本(特别是内容描述符): https : //www.esrb.org/search/?searchKeyword=&searchType=LatestRatings&timeFrame=PastWeek&pg=1&platform[]=All%20Platforms&rating []=E&rating[]=E10%2B&rating[]=T&rating[]=M&rating[]=AO&descriptor[]=All%20Content
我不能轻易选择我想要的文本,因为整个游戏框都是一个链接,我猜点击和拖动会让它认为你试图将链接放在某个地方。 我需要做很多这样的事情,所以去每个单独的游戏页面并抓取那里的文本会非常麻烦。
我试着阻止链接为“https:www.esrb.org/ratings/”此页上详述: https://scottlilly.com/greasemonkey-block-links-to-annoying-websites/但没有改变。
Array.prototype.forEach.call (linkList, function (link) {
if (link.hostname.includes("https://www.esrb.org/ratings/")
) {
//-- Block the link
link.href = "javascript:void(0)";
}
} );
更改 URL 不会使其成为链接。 但是,在您的情况下,链接没有文本并且通过 CSS 覆盖在框上,因此您只需要隐藏它。 我会使用这个功能:
function setLinks(state) {
const links = document.querySelectorAll("#results .game>a");
for(const link of links) {
// false means hide, true means show
link.style.display = !!state ? "" : "none";
}
}
调用setLinks(false)
禁用它们并调用 setLinks(true)` 再次激活它们。 您甚至可以将其设置为可控,例如,如果您持有钥匙,则仅禁用链接。 这将在您按住S时禁用链接,如在s 中选择:
window.addEventListener("keydown", (e)=>{if(e.which==83)setLinks(false);});
window.addEventListener("keyup", (e)=>{if(e.which==83)setLinks(true);});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.