JQuery страница навигации динамическая проблема загрузки JS
Я использую навигацию по страницам, и для этого я использую событие.live pageshow, как это
$('#watchlist').live('pageshow', function(event) {
watchList();
});
он дает правильный результат, как я ожидаю, но если я хочу добавить любой файл javascript в эти шаблоны, могу ли я сделать это, чтобы я мог использовать другие функции для шаблонов perticular.
Я просто хочу загрузить динамические шаблоны с помощью js, что не все файлы js на странице индекса, потому что где-то конфликтует
1 ответ
вступление
Этот ответ является ответом на комментарий
Msgstr "Мне просто нужна навигация по страницам с другой HTML-страницей, включая разные файлы js и css. Вот и все."
Чтобы понять этот ответ, давайте обсудим, как работает jQuery Mobile. Он использует AJAX для загрузки других страниц в DOM
,
Первая страница загружается нормально. это HEAD
а также BODY
загружается в DOM
и они там, чтобы ждать другого контента. Когда загружена вторая страница, только ее BODY
содержимое загружается в DOM
,
Решения
Здесь есть 2 решения:
Решение 1
На второй странице и на каждой другой странице переместите SCRIPT
, LINK
а также STYLE
теги в BODY
содержание, как это:
<body>
<script>
// Your javascript will go here
</script>
<link rel="stylesheet" href="some.css" />
// And rest of your HTML content
</body>
Это быстрое решение, но для меня это уродливое решение.
Решение 2
Используйте rel="external" в своих кнопках и во всех элементах, которые вы используете для изменения страницы. Из-за этого ajax не будет использоваться для загрузки страниц, и ваше мобильное приложение jQuery будет вести себя как обычное веб-приложение.
<a href="#second" class="ui-btn-right" rel="external">Next</a>
Официальная документация, ищите главу: Связывание без Ajax. К сожалению, из-за этого мобильное приложение потеряет переходы страниц.