我可以在悬停在按钮上时使用ajax预加载页面,并且点击此按钮可以更快地使用此页面。我一开始就很难找到一个好的解决方案/可能是完全错误的。这是我试过的,看起来对我来说有点让步:
document.getElementById('link').addEventListener('mouseover',function() {
var r = new XMLHttpRequest();
r.open("POST", "index.php", true);
r.onreadystatechange = function () {
if (r.readyState != 4 || r.status != 200) return;
document.getElementById('link').addEventListener('click',function() {
window.location.assign('index.php');
});
};
r.send('');
});
但我不认为这样做。
有人能指点我没有分享代码/解决方案吗?我主要对自己如何实现这一点感兴趣 - ajax是正确的开始方式吗?
我正在寻找仅限JavaScript的解决方案
答案 0 :(得分:3)
您需要一些框架来整理页面内容并管理网址中的内容,而无需向服务器发送另一个请求并重新加载页面。< / p>
Push state可以帮助您进行网址操作。
当您从服务器收到部分HTML时,您需要更换页面正文(或更少,取决于您的标记,可能只是#container
内的所有内容或页面上的任何内容) AJAX。
看看Rails&#39;之类的东西TurboLinks使用名为PJAX
的方法快速浏览网页。然后,悬停上的预取可以在这样的方法之上分层。