В настоящее время я экспериментирую с предварительной выборкой страниц, чтобы повысить воспринимаемую производительность нашего веб-сайта, используя приведенный ниже код (требуется 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 выполняется навигация (а не после отпускания кнопки).