在我的项目中,我使用这个 Ajax 函数(如下)来获取内容(它工作得非常好^^)。
无论如何,我希望有一个更好看的 URL(老实说,我不喜欢这个标签,)我一直在使用的脚本,直到现在我得到这样的东西:http://example.com/#sitename
为了改变这一点,我做了一些研究:我学到了这个:the window.history.pushState('page2', 'Title', '/page2.php');
JavaScript 行(有关在不重新加载的情况下更新 URL 的更多信息,请参见此处或此处)
我应该能够实际更改网址,以便我喜欢它。现在我的问题是我是一个完全的初学者白衣编程(当我试图将它包含在它破坏的代码中并且没有任何工作了。)并且想问是否有人可以帮助我将它包含在代码中(下)
我也听说过History.js - 如果我阅读正确,这也应该可以解决问题,但就像我说的我没有经验,不得不问如何将它包含到 ajax 调用中(我的意思是将它包含在到我的代码)还是不可能?
$(document).ready(function() {
var e = "", t = $("#content");
$("ul:not(.no) li a").click(function() {
window.location.hash = $(this).attr("href");
return false;
});
$(window).bind("hashchange", function() {
e = window.location.hash.substring(1);
url = e;
if (e) {
t.fadeOut(200, function() {
url = url.replace("#", "");
$("#loading").css("visibility", "visible");
$.ajax({
type : "POST",
url : "load_page.php",
data : "page=" + url,
success : function(e) {
if (parseInt(e) != 0) {
t.fadeIn(200, function() {
$("#content").html(e);
var $title = $("#title").text();
document.title = "JuBla | " + $title;
});
}
$("#loading").css("visibility", "hidden");
}
});
$("li a").removeClass("current");
$('li a[href="" + e + ""]').addClass("current");
//my attempted solution // window.history.pushState('/'+ url, $title, '/' + url + '/')
});
}
});
$(window).trigger("hashchange");
});