他们是如何在主题中完成此功能的,您单击永久链接(眼球)按钮 uri 更改,没有哈希(#)这是如何完成的?是阿贾克斯吗?或者是其他东西。
我假设它正在调用页面但没有重新加载?
主题:http ://thingslog-theme.tumblr.com/ (点击每个帖子底部的眼球)
我很难过和帮助?
他们使用这种代码:
$('a').click(function() {
link = $(this).attr('href')
history.pushState({}, '', link);
$('#content').load('/content.php?url='+link)
return false;
})
使用历史推送状态功能,允许您添加和修改浏览器历史条目。
我们使用 Backbone + HTML5 pushState 来处理没有哈希的 URI 更改。它之所以有效,是因为我们遵循 Tumblr 为所有博客构建其 URL 的方式。
我们使用 jQuery.load 来处理获取 html 并将其加载到页面中。
该代码看起来有点像这样:
$container.load('http://blog.tumblr.com/post/123 #container', function() {
var $post = that.$('.overlay-container .post');
that.view = new App.PostViewFactory.createView($post);
that.view.on('close', function() {
window.history.back();
});
});
希望有帮助。