Как выполнить JavaScript на странице, которая при загрузке? - PullRequest
3 голосов
/ 03 ноября 2011

Я использую jQuery Mobile. Но когда я загружаю страницу в другой HTML-файл как страницу, JavaScript в этом теге заголовка не выполняется. Я проверил источник и обнаружил, что метка head все еще оригинальная. Так что я должен сделать, чтобы запустить скрипт при загрузке страницы?

EDIT1:

Я также пытался написать js-код внутри тега body, но сценарий не остановится, когда вы уйдете. У меня есть таймер, чтобы было два гоночных таймера.

EDIT2:

Я загрузил страницы:

main.html http://pastebin.com/0Y9Xfrtw

recharge.html http://pastebin.com/j9HfUvqZ

recharge.js http://pastebin.com/K5eCwMAb

1 Ответ

4 голосов
/ 03 ноября 2011

ОБНОВЛЕНИЕ № 2:

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

В приведенном выше примере я использовал:

pagebeforehide

UPDATE:

Я пытался добавить ваш код из PasteBin в JSFiddle

Я думаю, это работает, так как я вижу обратный отсчет таймера на странице пополнения счета и, если он достигает нуля, вернитесь на домашнюю страницу:

Я получаю сообщение об ошибке:

Uncaught TypeError: Object [object Object] не имеет метода everyTime

Альтернатива EveryTime

с jQM весь JavaScript (для каждой страницы) должен быть на странице, которая загружается первой. поэтому, если вы загрузите index.html, разместите весь JavaScript на этой странице. Чтобы выполнить JavaScript для конкретной страницы, вы можете использовать одно из событий инициализации страницы, Документы:

JS

$('#page_id').live( 'pageshow',function(event, ui){
    alert( 'This page was just hidden: '+ ui.prevPage);
});
* * Пример тысяча пятьдесят-восемь:

JS

$('#home').live( 'pageshow',function(event, ui){
    alert( 'We are back home');
});

$('#page2').live( 'pageshow',function(event, ui){
    alert( 'This will only execute on Page 2');
});

HTML

<div data-role="page" id="home">
    <div data-role="content">

        <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
            <li data-role="list-divider">Overview</li>
            <li><a href="#page2">Page 2</a></li>
        </ul>

    </div>
</div>

<div data-role="page" id="page2">
    <div data-role="content">

        <ul data-role="listview" data-inset="true" data-theme="c" data-dividertheme="f">
            <li data-role="list-divider">Overview</li>
            <li><a href="#home">Go Back Home</a></li>
        </ul>

    </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...