单击时悬停上的预加载页面和链接

时间:2014-11-24 19:41:20

标签: javascript ajax

我可以在悬停在按钮上时使用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的解决方案

1 个答案:

答案 0 :(得分:3)

您需要一些框架来整理页面内容并管理网址中的内容,而无需向服务器发送另一个请求并重新加载页面。< / p>

Push state可以帮助您进行网址操作。

当您从服务器收到部分HTML时,您需要更换页面正文(或更少,取决于您的标记,可能只是#container内的所有内容或页面上的任何内容) AJAX。

看看Rails&#39;之类的东西TurboLinks使用名为PJAX的方法快速浏览网页。然后,悬停上的预取可以在这样的方法之上分层。

更多阅读:http://pjax.herokuapp.com/