URI无需重新加载即可更改?

时间:2013-07-21 20:26:40

标签: jquery ajax themes uri tumblr

他们是如何在主题中完成此功能的,你点击uri更改的固定链接(眼球)按钮,没有哈希(#)如何完成?是ajax吗?或其他什么。

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

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

我很难过并帮忙?

2 个答案:

答案 0 :(得分:2)

他们使用这种代码:

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

使用history pushstate function,允许您添加和修改浏览器历史记录条目。

答案 1 :(得分: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();
  });
});

希望有所帮助。