Отображение загрузчика страницы, когда rel="external"
Я перехожу на внешнюю HTML-страницу в мобильном приложении jQuery. загрузка страницы занимает некоторое время, я хочу показать загрузчик в то же время, но он не работает.. вот что я пытался..
$(document).ajaxStart(function() {
// $.mobile.loading('show');
$.mobile.loading( "show", {
text: 'Please Wait!',
textVisible: 'true',
theme: "b",
textonly: 'true',
html: ''
});
});
$(document).ajaxStop(function() {
$.mobile.loading('hide');
});
Я знаю, что rel="external" отключает ajax. Есть ли способ показать этому загрузчику открытие внешних ссылок?
1 ответ
Решение
При переходе на внешнюю страницу с отключенным Ajax загрузчик не отображается, поскольку DOM стирается и заменяется содержимым этой внешней страницы.
Единственный возможный способ показать загрузчик перед навигацией - отложить переход на эту страницу setTimeout()
,
HTML
<a href="http://www.*****.com" rel="external" class="ui-btn external">External Page</a>
JS
$(document).on("pagecreate", "#pageID", function () {
$(".external").on("click", function (e) {
e.preventDefault();
var url = $(this).attr("href");
$.mobile.loading("show", {
text: "redirecting...",
textVisible: true
});
setTimeout(function () {
location.href = url;
}, 2000); // 2secs delay
});
});