JQuery Mobile не загружает новые скрипты страницы - PullRequest
4 голосов
/ 23 февраля 2012

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

Чтобы быть более конкретным:

  1. Я загружаю свою домашнюю страницу, набирая URL, и все работает.
  2. Я загружаю следующую страницу, нажимая на ссылку на домашней странице, и DOM загружается, но скрипты, связанные со страницей в заголовке страницы, не загружать
  3. Если я обновлю эту страницу или наберу URL этой страницы в браузере напрямую (в обход переходов страницы), страница загружает скрипты так, как должно.

Я знаю, что jquery mobile пытается реализовать переходы страниц с помощью ajax, но я надеюсь, что смогу сохранить скрипты в верхнем / нижнем колонтитуле. Я бы не хотел ставить сценарии под <div data-role="page" >

Ответы [ 3 ]

12 голосов
/ 23 февраля 2012

Это потому, что jQuery Mobile загружает только код в первом элементе data-role="page" в DOM.

Существует несколько вариантов того, как это исправить:

  1. Вы можете поместить свой JS для конкретной страницы в элемент data-role="page", чтобы он загружался, когда jQuery Mobile загружает страницу через AJAX.
  2. Вы можете поместить весь свой код в один файл JS и включить его в каждую страницу сайта, он будет загружаться только при полном обновлении страницы, но таким образом весь код для вашего сайта будет доступен постоянно (после минификации и сжатия у вас действительно должно быть много кода, чтобы сделать его неэффективным).

Я уверен, что есть и другие методы, но вот пара, у меня была работа для меня.

5 голосов
/ 29 апреля 2012

Если у вас есть только одна или две страницы, требующие загрузки JS, это то, что я сделал.Любые ссылки на вашем сайте, которые ссылаются на эту страницу, должны быть принудительно загружены на новую страницу.

Добавьте эту ссылку

rel="external"
3 голосов
/ 27 февраля 2013

Я попытался добавить это к ссылке, и это сработало для меня

target="_parent"

Когда я добавил это к своей ссылке (хотя у меня все еще есть rel = "external"), это помогло, и другая страница загрузиласьсо всеми неповрежденными скриптами:)

...