J'ai un iframe qui charge un site Web tiers extrêmement lent à charger.
Existe-t-il un moyen d'afficher un message de chargement pendant que l'iframe se charge, l'utilisateur ne voit pas un grand espace vide?
PS. Notez que l'iframe est pour un site Web tiers, donc je ne peux rien modifier / injecter sur leur page.
javascript
jquery
iframe
Jacob
la source
la source
Réponses:
J'ai fait l'approche css suivante:
la source
Je pense que ce code va aider:
JS:
HTML:
CSS:
la source
#loadingMessage
lors desload
incendies, mais pourquoi le cachez-vous égalementready
? N'est-ce pas trop tôt?addEventListener
et en utilisantquerySelector
+ lastyle
propriété s :-). En plus de cela, l'auteur de la question a tagué est commejquery
. Vous ne comprenez pas pourquoi votre message était-il? :-)S'il ne s'agit que d'un espace réservé que vous essayez de réaliser: une approche folle consiste à injecter du texte comme fond svg. Cela permet une certaine flexibilité, et d'après ce que j'ai lu, le support du navigateur devrait être assez correct (je ne l'ai pas testé cependant):
html:
css:
Que pouvez-vous changer?
À l'intérieur de la valeur d'arrière-plan:
taille de la police: recherchez font-size = "" et changez la valeur en ce que vous voulez
couleur de la police: recherchez fill = "" . N'oubliez pas de remplacer le # par% 23 si vous utilisez la notation hexadécimale des couleurs. % 23 représente un # dans le codage URL qui est nécessaire pour que la chaîne svg puisse être analysée dans FireFox.
famille de polices: recherchez font-family = "" n'oubliez pas d'échapper les guillemets simples si vous avez une police composée de plusieurs mots (comme avec \ 'Lucida Grande \')
text: recherchez la valeur de l'élément text-element où vous voyez la chaîne PLACEHOLDER . Vous pouvez remplacer la chaîne PLACEHOLDER par tout ce qui est conforme à l'URL (les caractères spéciaux doivent être convertis en notation en pourcentage)
Exemple sur violon
Avantages:
Les inconvénients:
Je ne le recommanderais que s'il est absolument nécessaire d'afficher le texte comme espace réservé dans une iframe qui nécessite un peu de flexibilité (plusieurs langues, ...). Prenez un moment et réfléchissez-y: tout cela est-il vraiment nécessaire? Si j'avais le choix, je choisirais la méthode de @ Christina
la source
la source
Voici une solution rapide pour la plupart des cas:
CSS:
Vous pouvez utiliser un GIF de chargement animé si vous le souhaitez,
HTML:
À l'aide de l'événement onload, vous pouvez supprimer l'image de chargement une fois la page source chargée dans votre iframe.
Si vous n'utilisez pas jQuery, mettez simplement un identifiant dans le div et remplacez cette partie de code:
par quelque chose comme ça:
Bonne chance!
la source
Oui, vous pouvez utiliser un div transparent positionné sur la zone iframe, avec un gif de chargeur comme arrière-plan uniquement.
Ensuite, vous pouvez attacher un
onload
événement à l'iframe:la source
J'ai suivi l'approche suivante
Tout d'abord, ajoutez un div frère
puis lorsque l'iframe a terminé le chargement
la source
la source
Vous pouvez utiliser comme ci-dessous
la source