web-dev-qa-db-fra.com

message de chargement de jQuery Mobile

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.

25
MikkoP

La documentation du chargeur 1.4

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();

Option B - Désactiver le chargement AJAX

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;

Option C - il suffit de le cacher

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é.

32
veeTrain

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.

26
Aras

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.

9
Pnct

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">
8
Dani

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;
}
3
sonxurxo

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.

3
Ryan Skoblenick

Ajoute ça

<script>
$(document).ready(function(){
  $(".ui-loader").hide();
});
</script>
2
antonio

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/

2
Kelvin

Vous pouvez aussi utiliser qch comme ça pour enlever le message:

$('.ui-loader h1').remove();
1
montie

Essayez d'utiliser $.mobile.hidePageLoadingMsg()

0
Jay Blanchard

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" />
0
Zeni