使用pushState或PJAX(如github)处理刷新

时间:2012-02-29 21:40:04

标签: html5 pushstate history.js pjax

我正在尝试构建一个treelider来浏览网站的内容,并取得了一些成功,我有一个使用PJAX的测试页面,一个使用history.js的单独版本,以及一个使用jquery函数调用pushState / replaceState的第三个版本HTML 5 api

我的问题是刷新处理,或直接链接到辅助页面...如果尚未加载原始页面,则显示的所有内容都是片段

这是一个pjax示例:http://ur.nd.edu/pjax/

导航到链接通过pjax加载,但刷新页面只显示我想要的片段,我只想知道如何处理刷新和直接链接以包含标题格式

gthub处理这个很漂亮,我只是不知道从哪里开始

1 个答案:

答案 0 :(得分:1)

您需要更新服务器端代码,以便它返回完整的html页面(Wrapper和all),除非通过PJAX请求它​​(在这种情况下只返回内容)。

您可以使用以下代码来测试请求是否来自PJAX:

if($_SERVER['HTTP_X_PJAX'] == 'true'){
//Return just content
}else{
//Return content within full HTML page
}