2013-09-19 3 views
0

Я использую jquery для небольшого webapp, и я создал вариант, чтобы приложение было доступно в автономном режиме - для этого я принудительно перезагружаю страницу, и если она имеет правильные параметры он использует простой PHP $ _GET, чтобы добавить строку манифеста в тег html, который затем запускает кеш приложения.jQuery Mobile Force Reloading Страница 'Error Loading Page'

Я пробовал:

$.mobile.changePage 

Но он не может вызвать AppCache правильно. Единственный способ, которым я смог это сделать, - использовать:

window.location.href = window.location.href + "?appcache=true" 

Это работает! Однако я получаю «Ошибка загрузки страницы» за долю секунды до перезагрузки страницы.

Есть ли способ отключить это сообщение или другой способ добиться того же результата без сообщения?

спасибо.

+0

Вы пробовали '$ .mobile.changePage ('file.html? Appcache = true', {reloadPage: true});'? – Omar

+0

Спасибо Омару, но, к сожалению, он перезагружает страницу, но не запускает appcache. –

ответ

0

мне удалось решить проблему путем отключения Аякса до загрузки JQuery мобильный. Как и в этом ответе: How To Disable Ajax In jQuery Mobile Before Page Load?

Так ДО JQuery мобильный называется:

<script type="text/javascript" src="jquery"></script> 
<script type="text/javascript"> 
$(document).bind("mobileinit", function() { 
    $.mobile.ajaxEnabled = false; 
}); 
</script> 
<script type="text/javascript" src="jquerymobile"></script> 

Это позволяет мне сделать ссылку на другую страницу, на котором выполняется AppCache (и с AJAX включен).

Благодарим за помощь.

0

Вы пытались использовать две страницы, что-то вроде этого: yourpage.php и yourpageappcache.php и yourpageappcache.php:

<?php header('Location: yourpage.php?appcache=true');?> 
+0

Спасибо за ваш ответ Ouadie. Я попытался поставить appcache на отдельной странице. Я ссылаюсь на файл индекса на appcache.php, который имеет манифест в теге HTML. Однако он не запускается, если я не обновляю страницу вручную (или используйте js как указано выше). Если я возьму jQuery mobile из уравнения, он запустит appcache fine на новой странице, поэтому я не уверен, что он кэширует данные заранее или что-то в этом роде ... –

+0

вы пытались отключить кеш jQuery mobile? http://jquerymobile.com/demos/1.2.0/docs/pages/page-cache.html Можете ли вы опубликовать больше символов вашего кода? – Ouadie

+0

Спасибо за вашу помощь. Я просто попытался отключить кеш, добавив 'data-dom-cache =" false "'. До сих пор у меня есть индексная страница, у которой есть ссылка вроде 'Click here', которая идет на cachepage.php, а в теге html этой страницы он читает ''. Это отлично работает, если страница посещается отдельно (или принудительно обновляется с помощью строки javascript), и если я отключу также jQuery mobile. Не уверен, что он автоматически загружает данные, прежде чем я заеду на страницу? –