我正在搜索转换以下网址的jquery解决方案:
http://www.mysite.com/longpage.html#title3
到
http://www.mysite.com/longpage.html?var=1#title3
简单地添加“?var = 1”就没问题了。但是只有当它放在URL的末尾时,锚才有效。
答案 0 :(得分:3)
根据您在问题中描述的内容,一个简单的替换就可以解决问题:
"http://www.mysite.com/longpage.html#title3".replace(/(#.+?)$/, '?var=1$1')
这只是简单的JS,因为这就是所需要的。
答案 1 :(得分:1)
尝试:
var href = window.location.href;
if(href.indexOf("#") > 0){
href = href.split("#")[0] + "?var=1#" + href.split("#")[1];
window.location.href = href;
}
答案 2 :(得分:1)
例如
var urlParts = location.href.split("#");;
var newUrl = urlParts[0]+"?var="+someVar+(urlParts.length>1?"#"+urlParts[1]:"");
答案 3 :(得分:0)
谢谢大家。
我们实施了另一个建议的解决方案:
var url = $(this).attr('href');
var pos = url.indexOf('#');
if (pos != -1) {
var newurl = url.substr(0,pos);
var fragment = url.substr(pos, url.length - pos);
}
else {
var newurl = url;
var fragment = '';
}
$(this).attr('href', newurl + '?var=1' + fragment);