使用这个jQuery,我可以将我的网站的网址从mysite.com/#oldurl更改为mysite.com/newurl:
$('.trigger').click(function() {
history.pushState('data', '', 'newurl');
});
我怎样才能做到这样##总是被条带化,剩下的网址就剩下了。所以mysite.com/#page2变成了mysite.com/page2,mysite.com/#page3变成了mysite.com/page3等。
答案 0 :(得分:3)
你可以使用replace
var newurl=oldurl.replace("#","");
答案 1 :(得分:0)
$('.trigger').click(function() {
var final_url="";
if(your_url.indexOf('#') != -1)
{
final_url=your_url.replace('#', '');
}
history.pushState('data', '', final_url);
});
答案 2 :(得分:0)
尝试:
newurl = oldurl.replace(/#/g,"/");
答案 3 :(得分:0)
我可能误解了这个问题,当你说#
是当前网址减去哈希时我的想法。
您可以使用a
创建一个jQuery window.location
元素来构建当前网址。使用此变量来解析当前的url部分。您也可以在使用之前检查pushState是否可用。
if(history.pushState){
var a = $('<a>', {href: window.location})[0];
history.pushState(null, null, a.pathname+a.hash.substr(1));
}
答案 4 :(得分:0)
这是我使用“严肃记”的代码:
$('.trigger').click(function() {
var oldURL = window.location.hash;
// console.log('newURL ', oldURL);
var final_url="";
final_url=oldURL.replace('#', '');
history.pushState('data', '', final_url);
// console.log('final_url', final_url);
});