Когда я связал jQuery Mobile с моей страницей, в нижней части страницы появилось какое-то загрузочное сообщение, и я не могу избавиться от него. Я пробовал $.mobile.pageLoading(true), но это не сработало.
Как его удалить? Я нигде не печатал его.
Когда я связал jQuery Mobile с моей страницей, в нижней части страницы появилось какое-то загрузочное сообщение, и я не могу избавиться от него. Я пробовал $.mobile.pageLoading(true), но это не сработало.
Как его удалить? Я нигде не печатал его.
Документация 1.4 предполагает взаимодействие с Loader виджетами. В верхней части страницы описывается глобальное изменение параметра, но оно может быть настроено по принципу "по одной ссылке". Это также может работать:
$( document ).on( "mobileinit", function() {
$.mobile.loader.prototype.options.disabled = true;
});
Кроме того, согласно http://demos.jquerymobile.com/1.4.5/loader/ и http://api.jquerymobile.com/loader/, вы можете скрыть загрузку с помощью следующий код:
// As submitted by @Aras
$.mobile.loading( "hide" );
// (or presumably as submitted by @Pnct)
$.mobile.loading().hide();
Отключение загрузки AJAX эффективно удалит сообщение.
Если вы не хотите, чтобы страница загружалась в фоновом режиме, а затем показывалась, вы можете заставить ее загружаться как "нормальный", указав data-ajax='false'
на любом тэге якоря (<a...>
), который вы не используете хотите видеть загружаемое сообщение. Также существует глобальная настройка, которую вы можете использовать, чтобы все ссылки загружались "нормально".
Чтобы отключить глобально (не забудьте прочитать эту страницу, чтобы понять последствия и их рекомендации. новые документы может не иметь предупреждений):
$.mobile.ajaxEnabled=false;
Если вы хотите использовать метод 1.4 Загрузить страницу для загрузки внешних страниц, у него есть опция для showLoadMsg
, которую вы можете просто установить на false.
Глобальный параметр (доступный в более ранних версиях - не менее 1.0, 1.1 и 1.2 - читайте об этом здесь), чтобы просто удалить сообщение:
$.mobile.loadingMessage = false;
В предыдущей и предыдущей документах указано, что если вы установите значение "false", загрузочное сообщение не будет показано.
Я использую последнюю версию JQuery Mobile (в настоящее время 1.4) и сталкиваюсь с этой проблемой. Ни одно из решений здесь не работало для меня, и я думаю, что многие из них устарели. Вот что сработало для меня:
$.mobile.loading().hide();
$.mobile.loading()
предоставит вам элемент, и вы можете hide
его или сделать все, что пожелаете. Надеюсь, это поможет кому-то.
Если вы используете последнее обновление (1.2.0) jquerymobile попробуйте это
$.mobile.loading( 'show', { theme: "b", text: "", textonly: false});
поскольку он работал у меня.
У меня была та же проблема, раздражающее загрузочное сообщение и оранжевая рамка. Это произошло из-за не добавления ссылки на таблицу стилей jQuery.
Добавление ссылки в заголовок разрешило ее.
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">
Ответ Pnct ближе к правилу JQM 1.2.0. Тем не менее, нижеследующее будет более правильным для предоставленного документа API.
$.mobile.loading('hide');
Также убедитесь, что у вас есть таблица стилей, определенная для структуры JQM, как минимум в вашем HTML файле. В противном случае это будет выглядеть так, как будто функция ничего не делает.
В моем случае (jQueryMobile 1.4.5
) мне просто пришлось добавить это в свой CSS, и таким образом я могу избежать импорта всего jQueryMobile CSS файла (мне это не нужно).
.ui-loader {
display: none !important;
}
По умолчанию это сообщение должно быть скрыто. Вероятно, вы не включили официальную таблицу стилей jQuery Mobile.
Нельзя вручную скрывать или отключать загружаемое сообщение через код.
Правильный метод должен включать следующую таблицу стилей для jQuery Mobile 1.4.5:
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.css">
Это позволит решить различные проблемы, включая синие контуры вокруг выбранных элементов в Chrome и оранжевых очертаниях на Android.
Если это сообщение устарело, таблицы стилей для всех версий можно найти здесь: https://jquerymobile.com/download/
Добавьте это
<script>
$(document).ready(function(){
$(".ui-loader").hide();
});
</script>
Попробуйте использовать $.mobile.hidePageLoadingMsg()
Вы также можете использовать smth. например, чтобы удалить сообщение:
$('.ui-loader h1').remove();
В моем случае я загрузил неправильный файл css (jquery css вместо jQuery mobile css)
Неправильно:
<link href="../CSS/jquery-ui-1.11.4.custom/jquery-ui.min.css" rel="stylesheet" />
Справа:
<link href="../CSS/jquery.mobile-1.4.5.min.css" rel="stylesheet" />