Перезагрузка страницы или переход непосредственно к URL-адресу хэша jQuery Mobile не запускает pageinit ни разу. Например, я пробовал это на своей вторичной странице:
$(function () {
$(page).bind('pageinit', function () {
console.log('bind pageinit');
});
$(document).on('pagecreate', page, function () {
console.log('pagecreate');
});
$(document).on('pageshow', page, function () {
console.log('pageshow');
});
$(document).on('pageinit', page, function () {
console.log('pageinit');
});
});
Находясь на первой странице, я нажимаю, чтобы перейти на вторую страницу, и указанные выше жизненные циклы записываются в консоль. К URL-адресу также добавлено # два. Это здорово, но при переходе по ссылке на другом компьютере инициализация страницы не запускается. Кажется, только нажатие кнопки может вызвать запуск страницы.
У меня есть живой пример: http://dl.dropbox.com/u/5986646/jqm-pageinit.html. Вставьте это в URL-адрес, и события не будут запускаться: http://dl.dropbox.com/u/5986646/jqm-pageinit.html#two (обратите внимание на хеш-URL).