GCT1015
// 先来一个也是在当前网站上看到的函数
function parse_url(url)
{
var a = document.createElement('a');
a.href = url;
return {
source:url,
protocol:a.protocol.replace(':', ''),
host:a.hostname,
port:a.port,
query:a.search,
params:(function(){
var ret = {}, seg = a.search.replace(/^\?/, '').split('&'), len = seg.length, i = 0, s;
for(;i<len;i++) {
if(!seg[i]) {
continue;
}
s = seg[i].split('=');
ret[s[0]] = s[1];
}
return ret;
})(),
file:(a.pathname.match(/\/([^\/?#]+)$/i) || [, ''])[1],
hash:a.hash.replace('#', ''),
path:a.pathname.replace(/^([^\/])/, '/$1'),
segments:a.pathname.replace(/^\//, '').split('/')
};
}
通过js将所有链接添加点击事件
事件中通过parse_url解析当前页面地址及目标页面地址
合并解析后两地址的请求参数
拼接最终跳转地址
阻止默认行为
如果要通过php的话, 那得通过函数来生成链接
解析目标链接
合并参数
返回最终访问链接