是否可以在不重新加载页面的情况下将var url
变量附加到地址栏。这是我第一次使用ajax。
编辑:什么是事件目标节点 编辑2:得到它,比我想象的要简单得多..
history.pushState(null, null, url);
$('a[href^="/"]').unbind('click').click(function(e){
var url = $(this).attr('href');
e.preventDefault();
$.ajax({
url: url,
success: function( result ){
response = $('<div id="temp-ajax-response-holder" style="display: none;"></div>');
response.html(result);
if (response.find('#ajax').first().find('.header').length > 0 ) $('body').removeClass("home archive").addClass('single');
else if(response.find('#ajax').first().find('.archive_title').length > 0 ) $('body').removeClass("home single").addClass('archive')
else $('body').removeClass("single archive").addClass('home');
if (response.find('#ajax').first().find('.header').length > 0 )
$('body').attr('class', 'single single-post');
$('body #ajax').html(response.find('#ajax').first().html());
bindHTML();
response.html('');
}
});
});
答案 0 :(得分:0)
答案 1 :(得分:0)
我想到的第一件事就是History API。如果您的浏览器支持它,您可以更改地址栏中的位置,甚至可以通过浏览器历史记录使其可用。这允许使用后退按钮。
history.pushState(null, null, yourNewUrl);
如需进一步介绍,我建议您阅读http://diveintohtml5.info/history.html。