1

他们是如何在主题中完成此功能的,您单击永久链接(眼球)按钮 uri 更改,没有哈希(#)这是如何完成的?是阿贾克斯吗?或者是其他东西。

我假设它正在调用页面但没有重新加载?

主题:http ://thingslog-theme.tumblr.com/ (点击每个帖子底部的眼球)

我很难过和帮助?

4

2 回答 2

2

他们使用这种代码:

$('a').click(function() {
    link = $(this).attr('href')
    history.pushState({}, '', link);
    $('#content').load('/content.php?url='+link)
    return false;
})

使用历史推送状态功能,允许您添加和修改浏览器历史条目。

于 2013-07-21T20:35:30.000 回答
0

我们使用 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();
  });
});

希望有帮助。

于 2013-07-22T09:11:33.227 回答