หากคุณใช้Firefoxคุณโชคดีที่คำตอบต่อไปนี้ตรงกับคุณ หากคุณใช้ Chrome คุณโชคดีน้อยกว่าดูด้านล่างของคำตอบนี้
Greasemonkey ยิงสคริปต์ผู้ใช้เมื่อโหลด DOMดังนั้นคุณไม่จำเป็นต้องใช้ฟัง "DOM ready"
นอกจากนี้คุณอยู่บน Firefox for...of
เพื่อให้คุณสามารถใช้ขนมที่ทันสมัยบางlet
,
นี่คือสคริปต์ Greasemonkey ที่เกิดขึ้น:
// ==UserScript==
// @name Remove Google redirects
// @namespace google
// @description Remove redirects from Google Search result links.
// @include https://www.google.*/*
// @version 1
// @grant none
// ==/UserScript==
for (let element of document.querySelectorAll('#res .r > a')) {
element.removeAttribute('onmousedown');
}
ขอบคุณที่let
ไม่มีการประกาศในท้องถิ่นดังนั้นคุณไม่จำเป็นต้องใส่รหัสข้างต้นในIIFE
สำหรับผู้ใช้Chrome (Tampermonkey) ที่โชคร้าย:
ไม่พบลิงค์ในเวลาที่สคริปต์ดำเนินการถึงแม้ว่าdocument.readyState === 'complete'
... เป็นผลให้คุณต้องใช้การวนรอบกับตัวจับเวลา
ดังนั้นคุณจะได้:
// ==UserScript==
// @name Remove Google redirects
// @namespace google
// @description Remove redirects from Google Search result links.
// @include https://www.google.*/*
// @version 1
// @grant none
// ==/UserScript==
(function removeGoogleRedirects() {
var links = document.querySelectorAll('#res .r > a');
if (links.length === 0) {
setTimeout(removeGoogleRedirects, 100);
return;
}
for (var link of links) {
link.removeAttribute('onmousedown');
}
})();
ปรับปรุงตุลาคม 2018:
เนื่องจากมีการเปลี่ยนแปลงมาร์กอัปในหน้า Google ที่จำเป็นจะต้องเปลี่ยนไปh3.r
ฉันไปไกลกว่าและแทนที่ด้วย(แทนที่ "tag.class" ด้วยเพียง ".class" และเพิ่มพาเรนต์เป็นระบบรักษาความปลอดภัยเพื่อให้ตัวเลือกไม่กว้างเกินไป)div.r
h3.r > a
#res .r > a