我使用 History.js,有时当我单击后退按钮时,我只从 ajax 调用中获取内容,而不是整个页面(包括 ajax 调用)。这会导致网站看起来很糟糕,因为没有加载任何脚本、CSS 或 html“容器”。
- 我浏览我的页面。
- 我在地址栏中输入了另一个网站。
- 我点击后退按钮 – 现在只显示之前 ajax 调用的 html,没有 css、js 或其他 html
为什么会发生这种情况以及如何解决它?
我的代码如下所示:
History.Adapter.bind(window, 'statechange', function(){
var State = History.getState();
$.ajax({
url: State.url,
type: 'get',
beforeSend: function(xhr){
xhr.setRequestHeader('X-PJAX', true);
},
success: function(resp, status, xhr) {
$('#wrapper').html(resp);
}
});
});
最佳答案
我通过禁用 ajax 响应的缓存来解决这个问题。
缓存控制:无缓存、无存储、必须重新验证
现在,当我单击后退按钮时,整个页面都会加载,而不仅仅是 ajax 响应。
关于javascript - History.js - 有时仅在单击后退按钮时显示 ajax 内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19765159/