我目前正在尝试使用下面的代码(需要jQuery)来预取页面,以提高我们网站的感知性能。
只有0.5%的访问者使用拨号连接,我排除了查询字符串(旧时好时光),外部链接(http)和pdf文件(我们的大文件采用此格式)。在生产环境中,预取可能会带来哪些其他负面影响,我还没有考虑到?
<script type="text/javascript">
$(document).ready(function() {
$("a").each(
function(){
$(this).bind ("mouseover", function() {
var href=$(this).attr('href');
if (
(href.indexOf('?') == -1)&&
(href.indexOf('http:') ==-1)&&
($(this).hasClass('nopreload') == false)&&
(href.indexOf('.pdf') == -1)
) {
$.ajax({ url:href, cache:true, dataType:"text" });
}
});
$(this).bind ("mousedown", function(btn) {
if (btn.which==1) {
var href=$(this).attr('href');
if ($(this).hasClass('nopreload') == false) {
window.location.href = href;
return false;
}
}
});
});
});
</script>
对于某些链接,当鼠标悬停在其上时,它将预加载页面,并在鼠标按下后导航(而不是在按钮释放后)。