onDeviceReady () не вызывается при перезагрузке страницы? - PullRequest
3 голосов
/ 30 марта 2012

Я использую PhoneGap (Cordova-1.5.0.js) и сталкиваюсь с этой проблемой: -

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

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

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

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

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

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

1 Ответ

1 голос
/ 30 марта 2012

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

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

EDIT

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

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

...