首页 > 代码库 > 如何去掉Google搜索的跳转 让你的Google搜索不被reset掉

如何去掉Google搜索的跳转 让你的Google搜索不被reset掉

http://www.nowamagic.net/librarys/veda/detail/389

在点击google搜索结果时,google会在结果的URL前做个跳转,且有时这个跳转地址会被墙,这样极大的影响对搜索引擎的使用体验。近期,Google的基本搜索功能又开始间歇性的被重置,更别说那些早已被压在大墙底下的Google应用了,现在每天搜索几乎都是在无止尽的RESET中,找到瞬间,而且打开地址,还经常需要复制链接,然后粘贴到地址栏,才能打开,否则,只要你点击Google搜索结果中的链接就会被重置,而不管你是搜IT、工程、或是技术问题、医药等,现在似乎关键词已经不再重要,重要的是RESET谁。

遇到地址超长的搜索结果,没有办法复制地址,因为复制链接仍然会带Google的自跟踪跳转地址,尽管手动删剪也可以提出来但很麻烦。所以只能看摘要而无法点击。本来已经决定减少写这类无病呻吟的文章的,但最近或许是真的病了,亦或是要大病了。

如果能把Google的跳转链接去掉,那样可以减小被GFW重置的概率,网上有说,只有在Firefox上才会如此,有说要关闭网络历史记录就可以关闭搜索跟踪功能,对目前的Google搜索结果显示似乎都不适应,至少在Firefox上,未安装任何扩展的条件下,的却都会出现这个跳转链接(类似http://www.google.com.hk/url?sa=t...这样的跳转。

这个跳转链接是用于Google统计分析的,属于mousedown事件,第一次载入时,mousemove会显示真实的链接地址,一旦右键复制链接或左键点击,就会自动切换链接地址到跳转地址上,然后经由跳转地址再到目标网址,接着就可能会被伟大的重置。

本方法只针对google chrome浏览器,解决方法很简单,因为chrome已经原生支持Greasemonkey脚本,所以只需要写下面一段脚本,然后导chrome既可:

var url = window.location.href.toLowerCase(); //alert(url);if (url.indexOf("www.google.com.hk") >= 0 || url.indexOf("www.google.com") >= 0 || url.indexOf("/search") >= 0) {     var all = document.querySelectorAll("*");     for (var i = 0; i < all.length; i ++)     {         all[i].onmousedown = null; 		all[i].setAttribute("onmousedown", " ");		/*		all[i].onmousedown = function(){			alert("nowamagic");			}		*/    }}

最新版的Chrome直接支持油猴脚本,不需要进行任何设置。比如userscript.org上的脚本,点击 install 就可以安装了。

找到扩展所在的目录,默认在 C:Documents and SettingsusernameLocal SettingsApplication DataChromiumUser DataDefaultExtensions (username换成你电脑的用户名),里面那些名字很长且看不出意义的就是所有的扩展和脚本,找到你要修改的脚本(提示,根据版本号来找可能会快一些),点开,里面有个script.js,修改这个文件就可以了。

如果不修改的话,可以在 chrome URL栏输入 chrome://settings/extensionSettings,然后选择载入正在开发的程序,然后打开包含 js 的文件夹即可。下面是打包下载:

js 包下载

补充:

稍微改进了下:

var url = window.location.href.toLowerCase(); if (url.indexOf("www.google.com.hk") >= 0 || url.indexOf("www.google.com") >= 0 || url.indexOf("/search") >= 0 || url.indexOf("/url") >= 0) {     var all = document.querySelectorAll("*");     for (var i = 0; i < all.length; i ++)     {         all[i].onmousedown = null; 	all[i].setAttribute("onmousedown", " ");    }}

或者使用下面的脚本,也可以去掉 onm ousedown 事件。

window.addEventListener(‘load‘, function() {	var ires = document.getElementById(‘ires‘);	var h3s = ires.getElementsByTagName(‘h3‘);	for (var i = 0, l = h3s.length; i < l; ++ i) {		var h3 = h3s[i];		var as = h3.getElementsByTagName(‘a‘);		for (var j = 0, m = as.length; j < m; ++ j) {			var a = as[j];			a.removeAttribute(‘onmousedown‘);		}	}}, false);

现在,你的Google搜索就不会因为跳转被 reset 了。如果程序有什么问题,或者你有更好的办法,请告知我~

如何去掉Google搜索的跳转 让你的Google搜索不被reset掉