Будет ли работать, чтобы поместить ваш код в событие pagehow? Это может произойти, если вы пытаетесь определить страницу или местоположение. Может быть, что-то вроде этого:
<script type="text/javascript">
$('[data-role=page]').live('pageshow', function (event, ui) {
hash = location.hash;
page = hash.susbtr(1);
if (page.indexOf('about.html') >= 0) {
alert('you made it!');
}
});
</script>
UPDATE
После тестирования этого сценария и перечитывания вашего вопроса, я думаю, я смог воспроизвести результаты.
Это работает, как вы описали, и выдает предупреждения только при прямой загрузке страницы или обновлении страницы:
<body>
<div data-role="page">
<!-- page stuff -->
</div>
<script type="text/javascript"> ..bind events... </script>
</body>
Однако, когда я перемещаю javascript прямо внутри страницы, он работает как положено и запускает все связанные события, независимо от того, как была достигнута страница:
<body>
<div data-role="page">
<script type="text/javascript"> ..bind events... </script>
<!-- page stuff -->
</div>
</body>