จะปิดการใช้งานการเปลี่ยนเส้นทางลิงค์ผลการค้นหาของ Google (เมื่อคลิกขวา) ใน Chrome ได้อย่างไร


22

เมื่อลงชื่อเข้าใช้ Google ผลการค้นหาของ Google จะถูกเปลี่ยนเส้นทาง (เพื่อวัตถุประสงค์ในการติดตามและอื่น ๆ ) สิ่งนี้น่ารำคาญเนื่องจากคัดลอก / วาง URL ได้ง่ายโดยไม่ต้องไปที่เว็บไซต์ หากไม่มีการเปลี่ยนเส้นทางฉันจะคลิกขวาที่ลิงก์ในผลการค้นหาและเลือก "คัดลอกที่อยู่ลิงก์" ตอนนี้มันถูกแก้ไขโดยโค้ดจาวาสคริปต์ของ Google ซึ่งตรวจสอบการคลิกขวา

สิ่งนี้จะถูกปิดการใช้งานบน Chrome ได้อย่างไร ฉันคิดว่ามันเคยเป็นส่วนเสริมของ Chrome แต่ดูเหมือนจะไม่ทำงานอีกต่อไป


คลิกขวาของคุณมีจุดประสงค์อะไร?
Beniamin

4
@Beniamin: ตามที่กล่าวไว้ในคำถามของฉัน: "คัดลอก [วาง] URL" ฉันแค่ต้องการรับ URL (เช่นสำหรับการวางในรายงาน ฯลฯ )
Rabarberski

4
FYI: เพียงแค่เลือกข้อความด้วยเคอร์เซอร์และการกด ctrl-c ไม่ได้เป็นตัวเลือกเสมอไปเพราะ Google เชื่อมต่อ URL ที่ยาว
Rabarberski

ตกลง. แต่เมื่อคุณคลิกขวาที่ลิงค์มันจะเปลี่ยนเป็นลิงค์การติดตามของ Google ดังนั้นคุณจะไม่ได้รับลิงค์นั้นเว้นแต่คุณจะเปิดหน้า Google จะนำคุณไปยังหน้าที่ต้องการและคุณจะมีสิ่งที่คุณต้องการ
Beniamin

2
คำถามนั้นเกี่ยวกับวิธีการหลีกเลี่ยง (เคยมีนามสกุล Chrome มาก่อน (ไม่ทำงานอีกต่อไป) และสคริปต์ greasemonkey บางอย่างสำหรับ firefox แต่ครั้งสุดท้ายที่ฉันตรวจสอบฉันมีปัญหากับเรื่องนั้นดังนั้นพูดว่า "คุณจะไม่ได้รับลิงค์นั้นเว้นแต่คุณจะเปิดหน้าเว็บ" ไม่สมเหตุสมผล)
Rabarberski

คำตอบ:


7

ตอนนี้เมื่อฉันรู้ว่าสิ่งที่คุณต้องการฉันเขียนสคริปต์เล็กน้อยซึ่งลบonmousedownแอตทริบิวต์จากลิงค์

นี่มันคือ:

// ==UserScript==
// @name           Delete onmousedown
// @namespace      google
// @include        http://www.google.*/*
// ==/UserScript==
var runOnce = function(){
    var items = document.querySelectorAll('li.g h3.r a');
    for(var i = 0, len = items.length; i< len; i++){
        items[i].removeAttribute('onmousedown');
    }
}
document.body.appendChild(document.createElement("script")).innerHTML = "("+runOnce+")()";

บันทึกเป็นไฟล์บางไฟล์ซึ่งลงท้ายด้วย. user.js และวางลงใน Google Chrome และแจ้งให้เราทราบหากมีส่วนช่วย

PS ภาษาอังกฤษไม่ใช่ภาษาพูดของฉันดังนั้นขอโทษที่เข้าใจผิด

แก้ไข: ฉันเพิ่มตรรกะเพิ่มเติมดังนั้นจึงควรทำงานกับ Google ค้นหาทันใจ บอกฉันว่ามันเหมาะกับคุณไหม

แก้ไข: ฉันย้อนกลับเป็นเวอร์ชัน "ไม่มี" การสนับสนุน Google ค้นหาทันใจ


ขอบคุณสำหรับความพยายาม ฉันลองอะไรที่คล้ายกัน แต่เมื่อฉันลากไฟล์สคริปต์ไปที่ Chrome มันจะเปิดขึ้นในเบราว์เซอร์โดยแสดงรหัสต้นฉบับแทนที่จะติดตั้งสคริปต์
Rabarberski

ลอง Ctrl + O เพื่อเปิดไฟล์ และคุณแน่ใจหรือว่าคุณตั้งชื่อมันว่า: google.user.js
Beniamin

และฉันได้อ่านหน้าต่างโครเมี่ยมแล้วว่าจำเป็นต้องขยายให้ใหญ่สุด
Beniamin

หรือติดตั้งส่วนขยายที่คล้าย greasemonkey ใน Chrome มันจะช่วยให้คุณติดตั้งสคริปต์และสคริปต์ greasemonkey ควรใช้งานได้ ตัวอย่างเช่น: chrome.google.com/webstore/detail/…
Beniamin

1
@Rabarberski คุณต้องหยุดใช้ Google ค้นหาทันใจ
Synetech

5

พยายามที่จะใช้"Undirect" ส่วนขยายของ

มันจะลบการติดตามและการเปลี่ยนเส้นทางนี้ออกจากผลการค้นหาของ Google รองรับการใช้ google ผ่านทั้ง HTTP และ HTTPS


3

หากคุณใช้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


การใช้ข้อความของสคริปต์ Firefox และต่อท้าย 'javascript:' เพื่อเริ่มต้นจากนั้นสร้าง bookmarklet ของมัน (คำตอบของ la bobobobo) ทำงานได้ดีสำหรับฉัน
ojchase


0

ฉันพบว่าสคริปต์นี้ทำงานได้ง่ายที่สุด คัดลอกและลากไปยังแถบบุ๊กมาร์กของคุณและคลิกก่อนคลิกขวาที่ลิงค์ผลการค้นหาใด ๆ

javascript: var items = document.getElementsByTagName('a');  for( var i = 0 ; i < items.length; i++ )  if( items[i].className=='l' )  items[i].onmousedown = null ;

พระเจ้าผู้คนเหล่านี้คือซาตาน แต่ฉันได้อัปเดตสคริปต์ที่เบนิมินมอบให้ทำงานตามวันที่โพสต์นี้ ผู้ใช้เคล็ดลับนี้เพื่อทำให้หน้าเว็บแน่ใจว่าได้โหลดก่อนที่จะลอกองค์ประกอบของเหตุการณ์ที่เกิดขึ้นกับพวกเขา ต้องใช้TamperMonkeyเพื่อทำงานนี้

// ==UserScript==
// @name           Delete onmousedown
// @namespace      google
// @version        0.1
// @description    Allows you to right click links on Google search results without having them mangled on you.
// @include          http://www.google.*/*
// ==/UserScript==
var tid = setInterval( function () {
    if ( document.readyState !== 'complete' ) return;

    var items = document.getElementsByTagName('a');

    var succeeded=false;
    for( var i = 0 ; i < items.length; i++ )
    {
      if( items[i].className=='l' )
      {
        if( items[i].onmousedown ) { succeeded=true; } // we stripped the urls
        items[i].onmousedown = null ;
      }
    }

    if( succeeded )  clearInterval( tid ); // stop invoking this routine when we succeeded.
}, 100 );
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.