我目前正在尝试使用下面的代码(req. 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>
对于某些链接,当将鼠标悬停在它上面时,它将预加载页面,并且在 mousedown 时将导航(而不是在释放按钮之后)。