загрузить и закрыть страницу в jquery mobile - PullRequest
0 голосов
/ 20 ноября 2011

Я новичок как в jquery, так и в jquery mobile. Я пытаюсь достичь щелчка по ссылке, загрузить страницу, а затем через некоторое время автоматически вернуться на исходную страницу. Мне все равно, если это сделать через мобильные страницы jquery, или перейдя по ссылке на другую HTML-страницу. Читая документы, мне показалось, что предпочтительнее хранить страницы в отдельных документах, поэтому я и следовал по этому пути. При нажатии на ссылку новая страница загружается просто отлично. Однако я не смог вернуть новую страницу.

На исходной странице football.html есть ссылка:

<li><a href="touchdown.html">Touchdown</a></li>

В файле touchdown.html у меня есть следующий фрагмент JavaScript.

var TOUCHDOWN = {};

$(document).ready(function() {
    alert("readying touchdown");
    window.setTimeout(TOUCHDOWN.goBack, 5 * 1000);
});

TOUCHDOWN.goBack = function() {
    alert("timedOut()");
};

На самом деле, как вы можете видеть, я даже не вызываю window.load (), я просто ищу предупреждение, которое, кажется, никогда не происходит. На самом деле, я никогда не вижу предупреждение "готовясь к приземлению".

Мой вопрос действительно двойственный. Во-первых, я даже иду по правильному пути? Или лучше использовать многостраничный шаблон? Или что-то еще?

Во-вторых, я столкнулся с обсуждением в документах о pageinit и в других местах о загрузке страниц. Должен ли я использовать эти функции вместо этого? Я до сих пор не нашел каких-либо примеров фактического использования либо. Я понимаю вещи лучше, если вижу пример. Казалось, что документы выглядят так, как будто $ (document) .ready будет вызываться только один раз, на первой странице. Это то, что я хочу $ (document) .pageinit (или pageload)? Это было бы так просто?

Я гуглил, но, похоже, пусто.

1 Ответ

1 голос
/ 21 ноября 2011

Во-первых, я даже иду по правильному пути? Или, используя многостраничный шаблон будет лучше? Или что-то еще?

Использование нескольких HTML-файлов прекрасно

Во-вторых, пожалуйста, используйте:

  $('#yourPageId').live('pageshow',function(event){
      setTimeout(function() { 
        $.mobile.changePage("football.html");
      }, 5 * 1000);
  });

Включите этот скрипт в оба файла!

...