2012-02-21 3 views
0

В настоящее время я использую очень простой скрипт для загрузки внешней php-страницы в html-страницу (причина в том, что окончательная страница html будет встроена в приложение) , Внешняя php-страница содержит макет для настройки jquery-аккордеона. 1/5 раза, когда я загружаю страницу (неважно, если она на рабочем столе, в мобильном браузере или в реальном приложении), она выполнит одну из трех задач: либо загрузите страницу, либо не покажите содержимое (проверка показывает код с php-страницы есть), загружайте страницу несколько раз внутри себя (так что в аккордеоне будет гармонический аккордеон), или если анимация загрузки застрянет и продолжит вращаться и не исчезнет после полной функциональности страницы , Есть идеи? Вот код в HTML файлОшибка загрузки при использовании функции загрузки jquery funciton и мобильных аккордеонов

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta name="viewport" content="width=device-width, initial-scale=1" /> 
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.css" /> 
<link rel="stylesheet" href="includes/css/themes/BCHS.min.css" /> 

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>BCHS Today</title> 

<script src="http://code.jquery.com/jquery-1.6.4.min.js" type="text/javascript"></script> 
<script src="http://code.jquery.com/mobile/1.0.1/jquery.mobile-1.0.1.min.js" type="text/javascript"></script> 

<style type="text/css"> 
.title { 
    font-weight:bold; 
} 
.added_by { 
    color:#999; 
    font-weight:600; 
    font-size:9px; 
} 
</style> 
</head> 


<body> 
<div id="container"> 

</div> 
     <script type="text/javascript"> 
      $("#container").load('http://bchs.wizuma.com/index.php', '', function  (response, status, xhr) { 
       setTimeout("location.reload(true);", "5000"); 
       if (status == 'error') { 
        var msg = "Sorry but there was an error: "; 
       } 
      }); 
     </script> 

</body> 
</html> 

Очень простой скрипт, ссылка на фактической странице here

ответ

0

Похоже состояние гонки. Попробуйте ввести код в $(document).ready(). Обратный вызов:

$(document).ready(function() { 
    $("#container").load('http://bchs.wizuma.com/index.php', '', function(response, status, xhr) { 
     setTimeout(function() { 
      location.reload(true); 
     }, 5000); 
     if (status == 'error') { 
      var msg = "Sorry but there was an error: "; 
     } 
    }); 
});