是否可以在不刷新页面的情况下使用javascript更改您的网址(即删除网址参数)?
if ($(location).attr("href").substring("notSupported")) {
var url = $(location).attr("href").match(".*index.action");
window.location.assign(url[0]);
}
这样可行但是由于assign重新加载页面,它会进入无限循环的重载。救命啊!
答案 0 :(得分:0)
当然,您可以使用javascript推送历史状态。
if ($(location).attr("href").substring("notSupported")) {
var url = $(location).attr("href").match(".*index.action");
var currentState = history.state; // current page
history.pushState(currentState , "Page Title", url[0]);
}
答案 1 :(得分:0)
是的,您可以在不重新加载的情况下更改URL: https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulating_the_browser_history
带参数的: https://forum.jquery.com/topic/changing-url-in-the-address-bar-without-page-refresh
var stateObj = { foo: "bar" };
history.pushState(stateObj, "page 2", "bar.html");
答案 2 :(得分:0)
你需要使用某种类型的库,例如AJAX,只要我知道简单地用加载的主体替换当前的主体,即在之前引用
JQuery的Ajax功能与其他部分密切相关 功能。
还有一些像Matt这样的其他独立Ajax库 Kruse的Ajax工具箱 - 也许会有所帮助。
我会考虑加载完整的jQuery库。如果你链接到 在CDN上使用jQuery,加载时间将是微不足道的。
JQuery CDN(包含在脚本标记中) //ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js
然后加载页面使用
var url = "/page2.html";
$.ajax({url: url})
.done(function(data) {
$('#content').html(data);
});