您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
remove google search and image link redirection to speed up your browsing and hide referrer
当前为
// ==UserScript== // @name Google direct Link // @namespace http://userscripts.org/users/tommy // @author . // @description remove google search and image link redirection to speed up your browsing and hide referrer // @include *google.*/* // @exclude *userscripts.org* // @version 1.0.1 // @run-at document-start // ==/UserScript== var hideReferer = true, newTab = true, showCache = false; var ua = navigator.userAgent, wK = ua.toLowerCase().indexOf('webkit') > -1, S = location.protocol === 'https:'; function addEvent(a, b, c) { if (a.addEventListener) { a.addEventListener(b, c, false); } } function removeEvent(a, b, c) { if (a.removeEventListener) { a.removeEventListener(b, c, false); } } if (Object.defineProperty) { Object.defineProperty(window, 'rwt', { value: function () {}, writable: false, configurable: false }) } else { window.__defineGetter__('rwt', function () { return function () {} }) } if (showCache) { addEvent(window, 'DOMNodeInserted', cache); } function cache() { var cc = document.querySelectorAll('.vshid'); if (cc) { for (var i = 0; i < cc.length; ++i) { cc[i].style.display = 'inline'; } } } function proxy(e) { if (e && e.localName == 'a' && (e.className == 'l' || e.id == 'rg_hl' || e.className == 'rg_l' || e.className == 'rg_ilmn' || e.parentNode.className == 'vshid' || e.parentNode.className == 'gl' || e.parentNode.className == 'r')) { e.onmousedown ? e.removeAttribute('onmousedown') : 0; var m = /(&url=([^&]+)|imgurl=([^&]+))(&w=\d+&h=\d+)?&ei/g.exec(decodeURIComponent(e.href)); if (m) e.href = m[2] || m[3]; if (newTab) e.target = "_blank"; if (hideReferer) { if (wK && !S) { e.rel = "noreferrer"; } else if (!S && e.href.indexOf('http-equiv="refresh"') == -1) { e.href = 'data:text/html, <meta http-equiv="refresh" content="0;URL=' + encodeURIComponent(e.href) + '" charset="utf-8">'; } } } } function tunnel(e, f) { if (e && e.localName == 'a' && (e.className == 'l' || e.id == 'rg_hl' || e.className == 'rg_ilmn' || e.className == 'irc_but' || e.className == 'rg_l' || e.parentNode.className == 'vshid' || e.parentNode.className == 'gl' || e.parentNode.className == 'r')) { if (e.href.indexOf('http-equiv="refresh"') > -1) { var rLink = /URL=([^"]+)/g.exec(decodeURIComponent(e.href)); if (rLink) { e.href = rLink[1]; } } } removeEvent(f, 'mouseout', fixer); } function fixer(e) { var a = e.target, b = a; if (a.localName != 'a') { for (; a; a = a.parentNode) { tunnel(a, b); } } else { tunnel(a, b); } } function doStuff(e) { var a = e.target; addEvent(a, 'mouseout', fixer); if (a && a.className == 'rg_i') { a.removeAttribute('class'); } if (a.localName != 'a') { for (; a; a = a.parentNode) { proxy(a); } } else { proxy(a); } } addEvent(window, "mousedown", doStuff);