2009-10-01 4 views
1
$(document).ready(function(){ 
$("a[href*='http://']:not([href*='"+location.hostname+"'])").attr("target","_blank"); 

$("a[target!='_blank'][target!='_top']").click(function(){ 


$("#actualcontent").load($(this).attr("href")); 
$("#nav").load('nav.php'); 

window.location.hash=$(this).attr("href"); 
     return false; 
    }); 
}); 

Этот код работает нормально, но когда вы нажимаете ссылки, страницы загружаются, но они замораживают страницу до полной загрузки. Любая идея обходного пути?jquery load freezing страница

Этот скрипт встроен в нижнюю часть страницы. Он также иногда перезагружает страницу - это не проблема, но когда она замерзает, она может стать очень неприятной. Также, когда вы вводите информацию на вход.

Если вы зададите любые вопросы, я отвечу им довольно быстро. Cheers;)

Кроме того, этот скрипт работает со всеми ссылками на начальной странице, но если я загружу новую страницу (через этот скрипт), их ссылки будут нормально открываться.

Как я могу обойти это? Как будто я вставляю этот скрипт на каждую страницу, он, похоже, постоянно загружает страницу. (Это может быть еще одна ошибка.)

ответ

0

Что такое #actualcontent? вы пытаетесь загрузить() целых <html></html> страниц в этот элемент?

Лучший способ сделать это, так как часто страницы имеют код сценария, который необходимо запустить, чтобы собрать его содержание, чтобы загрузить страницу в скрытом <IFRAME> и затем для события загрузки в IFrame, в добавление к innerHTML из его <BODY> в ваш элемент

1

У меня была аналогичная проблема с замораживанием браузера с помощью функции jquery .ajax(). Если вы разрабатываете и тестируете локально, по какой-либо причине он замораживает веб-браузер до тех пор, пока данные не будут восстановлены. После загрузки моего кода на веб-сервер он начал работать без проблем. Надеюсь, это поможет, потому что мне потребовалось несколько часов, чтобы понять это для себя. Также убедитесь, что для свойства async установлено значение true (по умолчанию это верно).

Смежные вопросы