Wenn ich jQuery Mobile mit meiner Seite verknüpft habe, wird unten auf der Seite eine Art Lademeldung angezeigt, die ich nicht loswerden kann. Ich habe $ .mobile.pageLoading (true) probiert, aber es hat nicht funktioniert.
Wie soll ich es entfernen? Ich habe es nirgendwo gedruckt.
Die 1.4-Dokumentation schlägt die Interaktion mit dem Loader -Widget vor. Oben auf der Seite wird beschrieben, wie die Option global geändert wird. Sie kann jedoch von Link zu Link differenziert werden. Das kann auch funktionieren:
$( document ).on( "mobileinit", function() {
$.mobile.loader.prototype.options.disabled = true;
});
Gemäß http://demos.jquerymobile.com/1.4.5/loader/ und http://api.jquerymobile.com/loader/ können Sie auch das ausblenden Ladeerfahrung mit dem folgenden Code:
// As submitted by @Aras
$.mobile.loading( "hide" );
// (or presumably as submitted by @Pnct)
$.mobile.loading().hide();
Durch das Deaktivieren von AJAX Laden wird die Nachricht effektiv entfernt.
Wenn Sie nicht möchten, dass eine Seite vom Hintergrund geladen wird und dann angezeigt wird, können Sie sie wie "normal" laden, indem Sie den data-ajax='false'
auf dem Ankertag (<a...>
) angeben, den Sie nicht sehen möchten eine Lademeldung für. Es gibt auch eine globale Einstellung, mit der alle Links normal geladen werden können.
Um global zu deaktivieren (stellen Sie sicher, dass lesen Sie diese Seite , um die Auswirkungen und ihre Empfehlungen zu verstehen. Das neue Dokument enthält möglicherweise keine Warnungen.)
$.mobile.ajaxEnabled=false;
Wenn Sie mit dem 1.4 Load Page -Ansatz externe Seiten laden möchten, steht für showLoadMsg
eine Option zur Verfügung, die Sie einfach auf false setzen können.
Die globale Option (in früheren Versionen verfügbar - mindestens 1.0, 1.1 und 1.2 - lesen Sie dazu hier ), um nur die Nachricht zu entfernen:
$.mobile.loadingMessage = false;
In der 1.2 und früheren Dokumentation heißt es, dass keine Lademeldung angezeigt wird, wenn Sie den Wert auf "False" setzen.
Ich verwende die neueste Version von JQuery Mobile (derzeit 1.4) und stoße auf dieses Problem. Keine der Lösungen hier hat für mich funktioniert, und ich denke, dass viele von ihnen abgelehnt wurden. Folgendes hat für mich funktioniert:
$.mobile.loading().hide();
$.mobile.loading()
gibt Ihnen das Element und Sie können hide
es tun oder tun, was Sie sonst noch wünschen. Hoffe das hilft jemandem.
Wenn Sie das neueste Update (1.2.0) von jquerymobile Verwenden, versuchen Sie es hier
$.mobile.loading( 'show', { theme: "b", text: "", textonly: false});
da hat es für mich funktioniert.
Ich hatte das gleiche Problem, eine ärgerliche Lademeldung und einen orangefarbenen Rahmen. Der Verweis wurde nicht in das Jquery-Stylesheet eingefügt.
Das Hinzufügen der Referenz in der Kopfzeile löste es.
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">
In meinem Fall (jQueryMobile 1.4.5
) musste ich dies nur zu meinem CSS hinzufügen, und auf diese Weise kann ich den Import der gesamten jQueryMobile-CSS-Datei vermeiden (ich brauche sie nicht).
.ui-loader {
display: none !important;
}
Die Antwort von Pnct ist näher an der Korrektur für JQM 1.2.0. Je nach API-Dokument ist das Folgende jedoch korrekter.
$.mobile.loading('hide');
Stellen Sie außerdem sicher, dass Sie mindestens ein Stylesheet für die JQM-Struktur in Ihrer HTML-Datei definiert haben. Sonst sieht es so aus, als würde die Funktion nichts tun.
Füge das hinzu
<script>
$(document).ready(function(){
$(".ui-loader").hide();
});
</script>
Diese Nachricht sollte standardmäßig ausgeblendet sein. Wahrscheinlich haben Sie das offizielle Stylesheet von jQuery Mobile nicht mitgeliefert.
Sie sollten die Lademeldung nicht manuell durch Code ausblenden oder deaktivieren.
Die richtige Methode sollte sein, das folgende Stylesheet für jQuery Mobile 1.4.5 einzufügen:
<link rel="stylesheet" type="text/css" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile.structure-1.4.5.css">
Dadurch werden verschiedene Probleme gelöst, darunter blaue Konturen um ausgewählte Elemente in Chrome und orange Konturen in Android.
Falls dieser Beitrag nicht mehr aktuell ist, finden Sie die Stylesheets für alle Versionen hier: https://jquerymobile.com/download/
Sie können auch smth verwenden. So entfernen Sie die Nachricht:
$('.ui-loader h1').remove();
Versuchen Sie es mit $.mobile.hidePageLoadingMsg()
In meinem Fall habe ich eine falsche css-Datei geladen (jquery css statt jquery mobile css)
Falsch:
<link href="../CSS/jquery-ui-1.11.4.custom/jquery-ui.min.css" rel="stylesheet" />
Recht:
<link href="../CSS/jquery.mobile-1.4.5.min.css" rel="stylesheet" />