Ошибка загрузки при использовании функции загрузки jquery и мобильных аккордеонов - PullRequest
0 голосов
/ 21 февраля 2012

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

<!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>

Очень простой скрипт, ссылка на реальную страницу: здесь

1 Ответ

0 голосов
/ 21 февраля 2012

Похоже на состояние гонки. Попробуйте вставить свой код в $(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: ";
        }
    });
});
...