2012-03-30 6 views
3

Я использую PhoneGap (Cordova-1.5.0.js), и я столкнулся с этой проблемой: -onDeviceReady() не вызывается, когда страница перезагружается?

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

Забавно, если я вернусь на страницу состояния (используя navigator.app.backHistory()) и выберите другую запись, чтобы увидеть ее детали, она снова перейдет на страницу с подробными сведениями, НО ЭТОТ ВРЕМЯ, ЧТО НЕ ОСТАЕТСЯ ОГНЯ AJAX CALL. Он также не запускает метод onDeviceReady().

Для навигации от страницы состояния на странице сведений, я использую следующие на событие OnClick в DIV, который я нажимаю: -

window.location="record_detail.html?userid=" + userID; 

Ох и кстати, я использую iScroll 4 а. Все раньше работали нормально, и эти проблемы возникли после того, как я включил iScroll 4 в свой проект.

Заранее спасибо.

+0

Почему это происходит, когда я перехожу назад и вперед между страницами состояния и деталей более 2-3 раз, метод onDeviceReady() вообще не вызывает вызов (ТОЛЬКО на странице сведений)? Любая помощь будет оценена по достоинству. –

ответ

1

onDeviceReady только должен срабатывать один раз - при загрузке первой страницы и инициализации каркаса PhoneGap.

Если вы хотите что-то делать каждый раз, когда страница загружается, используйте соответствующее событие загрузки Javascript.

EDIT

Вы не должны использовать window.location, вместо этого вы должны использовать navigator.app.loadUrl ('');

Это гарантирует, что PhoneGap не загружается при каждом переходе на новую страницу. Загрузка занимает много времени и должна выполняться только один раз для приложения.

+0

Так что, если мне нужно запускать ajax-вызов каждый раз, когда страница загружается/перезагружается, мне нужно будет включить ее в say, onLoad event? Не могли бы вы дать образец кода? Большое спасибо :) –

+0

И если вы сказали правду, то почему метод onDeviceReady() и вызов ajax внутри страницы статуса запускаются независимо от того, сколько раз я его перезагружаю? Почему только он не вызывается с подробной страницы? –

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

  • Нет связанных вопросов^_^