您的位置:首页 > 编程语言 > Go语言

如何去掉Google搜索的跳转

2011-11-15 00:00 357 查看
在点击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", " ");
    }
}


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


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 了。如果程序有什么问题,或者你有更好的办法,请告知我~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: