在我正在开发的Web应用程序中,当某人想要更改其搜索位置(针对地图)时,他们点击了一个按钮,该按钮会弹出一个叠加层...该叠加层具有3个标签:按位置搜索,变量和桩号。我想做的是每当覆盖层打开时都更新url,并根据其所在的选项卡进行更改。这样,当他们共享URL时,其他人也将显示确切的叠加层。
我已经尝试过https://developer.mozilla.org/en-US/docs/Web/API/History_API的push / replaceState(),它会更新url;但是当我关闭重叠式广告时,仍然显示相同的网址...此外,当我尝试返回相同的网址时,则不显示重叠式广告。
任何想法都会受到赞赏。谢谢!
代码...建议我尝试了几种不同的情况,这就是为什么出现注释行的原因
// function addURL(element) {
// $(element).attr('href', function() {
// window.location.href = window.location +"&"+ "searrch";
// // return window.location.href
// });
// }
var stateObj = { foo: "bar" };
function change_my_url()
{
// history.replaceState(stateObj, "page 2", "#search");
// Prevent default click action
event.preventDefault();
// Detect if pushState is available
if(history.pushState) {
history.pushState(null, null, $(this).attr('href'));
}
return false;
}
var link = document.getElementById('nav-search-btn');
link.addEventListener('click', change_my_url, true);