写了个opera 用户脚本,让google结果不再经过google链接跳转

发布: 2012-06-15 10:32

很简单的功能,google搜索结果访问的时候总得通过google的链接再跳转到真正的结果地址
目前的情况,访问google次数越多,越容易网络异常,写了个脚本,在点击结果链接的时候,
直接转到结果页面,不用多访问一次google了。

写的比较乱,没有整理,但是挺管用的。

还有一个不完善的地方,对于喜欢右键弹出菜单方式访问结果的用户行为没有处理。

[code type="javascript"]
var url = window.location.href.toLowerCase();
if (url.indexOf("www.google.com.hk") >= 0 || url.indexOf("www.google.com") >= 0 || url.indexOf("/search") >= 0)
{
opera.addEventListener('BeforeEvent', function(userJSEvent) {
if (userJSEvent != null) {

var evt = userJSEvent.event;
if (userJSEvent.event.type == 'click') {
console.log(userJSEvent.event);
if (evt.srcElement.tagName == 'A' && evt.srcElement.className == 'l') {
evt.srcElement.onmousedown = null;
var redir_url = evt.srcElement.href;
console.log(evt.srcElement.href);

var rupos = redir_url.indexOf('url=');

var half_real_url = redir_url.substring(rupos + 4, redir_url.length);

var endpos = half_real_url.indexOf('&');

var enc_real_url = half_real_url.substring(0, endpos);
var real_url = decodeURIComponent(enc_real_url);

// alert(enc_real_url + real_url);
if (evt.srcElement.getAttribute('old_href') == null) {
evt.srcElement.setAttribute('old_href', evt.srcElement.href);
evt.srcElement.href = real_url;
evt.srcElement.title = real_url;
}
evt.srcElement.setAttribute('onmousedown', '');
}
}
}
},
false);
}

[/code]


原文: http://qtchina.tk/?q=node/661

Powered by zexport