那是因为这就是 AJAX 的工作方式。它为页面本身加载它,但是一旦你刷新它,你使用 ajax 加载的每个页面都消失了。我已经编写了这个简单的函数,它在 URL 中添加了一个主题标签。然后,当您使用主题标签刷新页面时,它会启动相同的 AJAX 事件。
function loadfile(link, target){
window.location.hash = '!'+ link;
target.load(link);
}
你像这样使用它:
$(document).ready(function(){
if(window.location.hash != ''){
var hash = window.location.hash;
loadfile(hash.replace('#!', ''), $('.banner'));
}
$('div.banner a').click(function(event) {
event.preventDefault();
loadfile($(this).attr('href'), $('.banner'));
});
});
<div class="banner">
Dear potato,
Blablabla. Lorum ipsum dolor sit amet, <a href="letter.php">letter</a>.
Love,
Carrot.
</div>
或者,您也可以尝试使用history.pushState()而不是使用主题标签,但这是新事物,并非每个用户都支持它。