আপনি যদি ফায়ারফক্স ব্যবহার করে থাকেন তবে নীচের উত্তরটি আপনার প্রয়োগ হওয়ার কারণে আপনি ভাগ্যবান। আপনি যদি ক্রোম ব্যবহার করে থাকেন তবে আপনি অনেক কম ভাগ্যবান, এই উত্তরটির নীচে দেখুন।
গ্রোস্মোনকি একবার ব্যবহারকারীর স্ক্রিপ্টগুলি ডায়ম লোড হয়ে গেলে তা আপনাকে "ডিওএম প্রস্তুত" শ্রোতার প্রয়োগ করতে হবে না।
এছাড়াও আপনি ফায়ারফক্স হয়, তাই আপনি কিছু আধুনিক মিছরি ব্যবহার করতে পারেন: for...of, let।
এখানে ফলাফল গ্রীসমনকি স্ক্রিপ্ট:
// ==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স্থানীয় কোনও ঘোষণা নেই বলে ধন্যবাদ , সুতরাং আপনার উপরোক্ত কোডটি কোনও আইআইএফইতে আবদ্ধ করার দরকার নেই ।
দুর্ভাগ্যজনক ক্রোম (ট্যাম্পারমনকি) ব্যবহারকারীদের জন্য:
স্ক্রিপ্টটি কার্যকর হওয়ার সময় লিঙ্কগুলি পাওয়া যায় না, যদিও 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 আপডেট করুন:
গুগল পৃষ্ঠায় একটি মার্কআপ পরিবর্তনের কারণে, h3.rপরিবর্তিত হওয়া দরকার div.r।
আমি আরও দূরে গিয়ে প্রতিস্থাপন h3.r > aকরেছি #res .r > a("ট্যাগক্লাস" প্রতিস্থাপন করে "" ক্লাস "দিয়ে, এবং সুরক্ষা হিসাবে একটি পিতামাতাকে যুক্ত করেছি যাতে নির্বাচক খুব জেনারিক না হয়)।