Lorsque j'ai lié jQuery Mobile à ma page, une sorte de message de chargement est apparu au bas de la page et je ne peux pas m'en débarrasser. J'ai essayé $ .mobile.pageLoading (true) mais cela n'a pas fonctionné.
Comment dois-je l'enlever? Je ne l'ai pas imprimé nulle part.
La documentation 1.4 suggère une interaction avec Loader widget. Le haut de la page décrit une modification globale de l'option, mais elle peut être nuancée lien par lien. Cela peut aussi fonctionner:
$( document ).on( "mobileinit", function() {
$.mobile.loader.prototype.options.disabled = true;
});
En outre, selon http://demos.jquerymobile.com/1.4.5/loader/ et http://api.jquerymobile.com/loader/ , vous pouvez masquer l'expérience de chargement avec le code suivant:
// As submitted by @Aras
$.mobile.loading( "hide" );
// (or presumably as submitted by @Pnct)
$.mobile.loading().hide();
Désactiver le chargement AJAX aura pour effet de supprimer le message.
Si vous ne souhaitez pas qu'une page bénéficie du chargement en arrière-plan et ensuite en montrant, vous pouvez la charger comme si elle était "normale" en spécifiant le data-ajax='false'
sur la balise anchor (<a...>
) que vous ne voulez pas. pour voir un message de chargement pour. Il existe également un paramètre global que vous pouvez utiliser pour que tous les liens se chargent "normalement".
Pour désactiver globalement (assurez-vous de lisez cette page pour comprendre les implications et leurs recommandations. Les nouveaux documents peuvent ne pas avoir d'avertissements):
$.mobile.ajaxEnabled=false;
Si vous souhaitez utiliser l'approche 1.4 Charger une page pour charger des pages externes, une option est disponible pour showLoadMsg
que vous pouvez simplement définir sur false.
L'option globale (disponible dans les versions antérieures - au moins 1.0, 1.1 et 1.2 - à lire à ce sujet ici ) pour supprimer simplement le message est la suivante:
$.mobile.loadingMessage = false;
La documentation 1.2 et antérieure indique que si vous le définissez sur false, aucun message de chargement ne sera affiché.
J'utilise la dernière version de JQuery Mobile (actuellement 1.4) et rencontre ce problème. Aucune des solutions ici ne fonctionnait pour moi et je pense que beaucoup d’entre elles sont obsolètes. Voici ce qui a fonctionné pour moi:
$.mobile.loading().hide();
$.mobile.loading()
vous donnera l'élément et vous pouvez hide
ou faire ce que vous voulez. J'espère que ça aide quelqu'un.
Si vous utilisez la dernière mise à jour (1.2.0) de jquerymobile .__, essayez ceci.
$.mobile.loading( 'show', { theme: "b", text: "", textonly: false});
puisque cela a fonctionné pour moi.
J'ai eu le même problème, un message de chargement ennuyeux et un cadre orange. Cela était dû au fait de ne pas ajouter la référence à la feuille de style jQuery.
L'ajout de la référence dans l'en-tête l'a résolu.
<link rel="stylesheet" type="text/css" href="https://code.jquery.com/mobile/1.4.0/jquery.mobile-1.4.0.min.css">
Dans mon cas (jQueryMobile 1.4.5
), je devais simplement ajouter ceci à mon CSS, ce qui me permettait d'éviter d'importer le fichier CSS entier de jQueryMobile (je n'en ai pas besoin).
.ui-loader {
display: none !important;
}
La réponse de Pnct est plus proche de la correction pour JQM 1.2.0. Cependant, les informations ci-dessous seraient plus correctes selon le document API fourni.
$.mobile.loading('hide');
Vérifiez également que vous avez au minimum la feuille de style définie pour la structure JQM dans votre fichier HTML. Sinon, la fonction ne ressemblera à rien.
Ajoute ça
<script>
$(document).ready(function(){
$(".ui-loader").hide();
});
</script>
Par défaut, ce message devrait être caché. Il est probable que vous n’ayez pas inclus la feuille de style officielle de jQuery Mobile.
Vous ne devez pas masquer ou désactiver manuellement le message de chargement via le code.
La méthode appropriée devrait consister à inclure la feuille de style suivante pour 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">
Cela résoudra divers problèmes, notamment les contours bleus des éléments sélectionnés dans Chrome et les contours orange dans Android.
Au cas où cet article deviendrait obsolète, les feuilles de style de toutes les versions peuvent être trouvées ici: https://jquerymobile.com/download/
Vous pouvez aussi utiliser qch comme ça pour enlever le message:
$('.ui-loader h1').remove();
Essayez d'utiliser $.mobile.hidePageLoadingMsg()
Dans mon cas, je chargeais le mauvais fichier css (jquery css au lieu de jquery mobile css)
Faux:
<link href="../CSS/jquery-ui-1.11.4.custom/jquery-ui.min.css" rel="stylesheet" />
Droite:
<link href="../CSS/jquery.mobile-1.4.5.min.css" rel="stylesheet" />