Ich habe einen Iframe, der eine Website eines Drittanbieters lädt, die extrem langsam geladen wird.
Gibt es eine Möglichkeit, eine Lademeldung anzuzeigen, während der Iframe geladen wird und der Benutzer keine große Leerstelle sieht?
PS. Beachten Sie, dass der Iframe für eine Website eines Drittanbieters bestimmt ist, sodass ich auf seiner Seite nichts ändern / einfügen kann.
javascript
jquery
iframe
Jacob
quelle
quelle
Antworten:
Ich habe den folgenden CSS-Ansatz gemacht:
quelle
Ich denke, dass dieser Code helfen wird:
JS:
HTML:
CSS:
quelle
#loadingMessage
beiload
Bränden versteckst , aber warum versteckst du es auch aufready
? Ist das nicht zu früh?addEventListener
und NutzungquerySelector
+ dasstyle
Eigentum :-). Darüber hinaus hat der Autor der Frage als markiertjquery
. Kannst du nicht verstehen, warum deine Nachricht war? :-)Wenn es nur ein Platzhalter ist, den Sie erreichen möchten: Ein verrückter Ansatz besteht darin, Text als SVG-Hintergrund einzufügen. Es ermöglicht eine gewisse Flexibilität, und nach dem, was ich gelesen habe, sollte die Browserunterstützung ziemlich anständig sein (habe sie jedoch nicht getestet):
html:
CSS:
Was kannst du ändern?
Innerhalb des Hintergrundwerts:
Schriftgröße: Suchen Sie nach font-size = "" und ändern Sie den Wert nach Belieben
Schriftfarbe: Suche nach fill = "" . Vergessen Sie nicht, das # durch% 23 zu ersetzen, wenn Sie die hexadezimale Farbnotation verwenden. % 23 steht für ein # in der URL-Codierung, das erforderlich ist, damit die SVG-Zeichenfolge in FireFox analysiert werden kann.
Schriftfamilie: Suchen Sie nach font-family = "" Denken Sie daran, die einfachen Anführungszeichen zu umgehen, wenn Sie eine Schrift haben, die aus mehreren Wörtern besteht (wie bei \ 'Lucida Grande \').
text: Suchen Sie nach dem Elementwert des Textelements, in dem Sie die PLACEHOLDER-Zeichenfolge sehen . Sie können die PLACEHOLDER-Zeichenfolge durch eine URL-konforme Zeichenfolge ersetzen (Sonderzeichen müssen in Prozentschreibweise konvertiert werden).
Beispiel für Geige
Vorteile:
Nachteile:
Ich würde dies nur empfehlen, wenn es unbedingt erforderlich ist, Text als Platzhalter in einem Iframe anzuzeigen, der ein wenig Flexibilität erfordert (mehrere Sprachen, ...). Nehmen Sie sich einen Moment Zeit und denken Sie darüber nach: Ist das alles wirklich notwendig? Wenn ich die Wahl hätte, würde ich mich für die Methode von @ Christina entscheiden
quelle
quelle
Hier ist eine schnelle Lösung für die meisten Fälle:
CSS:
Sie können ein animiertes Lade-GIF verwenden, wenn Sie möchten,
HTML:
Mit dem Ereignis onload können Sie das Ladebild entfernen, nachdem die Quellseite in Ihren Iframe geladen wurde.
Wenn Sie jQuery nicht verwenden, geben Sie einfach eine ID in das div ein und ersetzen Sie diesen Teil des Codes:
von so etwas:
Alles Gute!
quelle
Ja, Sie können ein transparentes Div verwenden, das über dem Iframe-Bereich positioniert ist, mit einem Loader-GIF als einzigem Hintergrund.
Dann können Sie
onload
dem iframe ein Ereignis hinzufügen:quelle
Ich habe den folgenden Ansatz verfolgt
Fügen Sie zuerst Geschwister div hinzu
und dann, wenn der Iframe das Laden abgeschlossen hat
quelle
quelle
Sie können wie folgt verwenden
quelle