2016-11-01 2 views
1

Я хочу программно изменить мою мобильную страницу jquery. Я прочитал StackOverflow страницы здесьБорьба с pagecontainer

https://stackoverflow.com/a/24173950/4278933

jQuery mobile pagecontainer load()

и не удалось получить мой код работает. Иногда я получаю сообщение об ошибке на консоли, иногда я ничего не получаю (без изменения url, изменения gui или выхода в консольный журнал).

(Обратите внимание, что я перехожу к f.html, который является внешней страницей).

Все попытки изменить страницу сделаны ПОСЛЕ устройства готовы ...

Первый метод, который я попробовал, был

<a href="f.html" id="front" data-rel="external" data-ajax="false">Front</a> 

, а затем я вызвал

$("#front").trigger("click"); 

С выше, ничего не работало (нет ошибок или изменений URL). Однако, вручную нажав на ссылку, удалось изменить страницу, которую я хотел.

Затем я прочитал http://api.jquerymobile.com/pagecontainer/#method-change и в сочетании с двумя SO сообщений, отмеченных выше, я попытался

$(":mobile-pagecontainer").pagecontainer("load", "f.html"); 

, а также пытались

$("body").pagecontainer("load", "f.html"); 

Я получаю ошибку: не может вызывать методы pagecontainer до инициализации ; попытался вызвать метод 'load'

Куда я иду не так?

ответ

0

Потому что вы не хотите AJAX загрузки и вы действительно хотите, чтобы браузер, чтобы перейти на новую страницу (без загрузки его в текущий DOM), вы можете просто использовать обычный JavaScript window.location объект:

location.assign("f.html"); 

DEMO

+0

Ваше предложение работало, но я решил использовать $ ("тело") нагрузки ("f.html"). так что я могу сохранить скрипты/переменные, уже доступные для DOM. –

+0

@fiprojects, я сделал это предположение, потому что у вас были данные-ajax = "false" и data-rel = "external" в ссылке. – ezanker