Da gibt es einen fundamentalen Unterschied. Dies ist, wenn das DOM bereit ist, was normalerweise ideal ist. Dies ist, wenn die gesamte Seite fertig geladen ist, was anders ist. Zum Beispiel wartet dies darauf, dass Bilder fertig geladen sind, damit Sie deren Breite und Höhe genau messen können, während Ihr Schnipsel nicht wartet. Ein kleiner, aber manchmal entscheidender Unterschied.
Es gibt einen Unterschied zwischen $(function() { // Code hier } und $(window).bind("load", function() { // Code hier });. $(window).bind(‘load’, function(){}) wird nach dem Laden der Seite ausgeführt.
es hängt davon ab, wie viel Code Sie haben und ob Sie ihn wiederverwenden werden. Wenn Sie ihn wiederverwenden möchten, packen Sie die Funktion in die JS-Datei mit Verweis auf eine Variable, die sich darin befindet
Dann können Sie jeder Seite eine beliebige ID zuweisen, und wenn ein Element mit dieser ID vorhanden ist, wird es verarbeitet.
In der JS-Datei kodieren Sie Dinge nicht so sehr, sondern prüfen nur, ob die Variable vorhanden ist und welchen Wert sie hat.
Für dieses Beispiel wäre es wahrscheinlich übertrieben
Gibt es eine Möglichkeit, dies ohne jQuery zu tun? Ich verwende jQuery (aber das Skript wird am Ende der Seite geladen). Ich suche ein JS-Snippet, das im Inhalt verwendet werden kann (das ausgeführt wird, wenn die Seite geladen ist).
Eine Kleinigkeit. Wenn Sie die Schaltfläche „Kopieren in die Zwischenablage“ verwenden, kopiert sie mit geschweiften `“` und nicht nur geraden `"` . Mit den geschweiften funktionieren die Codes nicht…
Ich versuche, die Seite vor der Karte zu laden (ich benutze Map Extreme). Obwohl ich die Document-Ready-Funktion verwende, versucht die Seite, mapLabels mit Seitenobjekten zu laden. Für eine Weile sieht der Benutzer meine Seite so, als gäbe es kein CSS. Nachdem die Karte ihre Aufgabe erledigt hat, wird das CSS geladen. Wie kann ich das beheben? Ich benutze Ihren Code, aber er hat für mich nicht funktioniert.
Hier ist ein Beispiel;
j(window).bind("load", function () { MapXtremeJavascriptLib.init();
});
/* START BEREICH DER DOCUMENT READY FUNKTION */ j(document).ready(function () {
j(“.accordion”).accordion({ autoHeight: true, navigation: true, collapsible: true
}); /* ENDE BEREICH DER DOCUMENT READY FUNKTION*/
Hallo zusammen, Ich zerbreche mir den Kopf darüber, wie ich A: Einem JavaScript sagen kann, es soll warten, bis die gesamte Website geladen ist. Ich glaube, ich habe gerade die Lösung dafür gefunden. Und B: Das JavaScript soll nur auf der Startseite geladen werden.
Die Website läuft auf Joomla und vorher hatte ich das Skript aus einem benutzerdefinierten HTML-Modul ausführen lassen, das ich der Debug-Position zugewiesen und so eingestellt hatte, dass es nur auf der Startseite geladen wird.
Das funktionierte für Firefox, Chrome und Safari gut, aber IE war wie üblich widerspenstig.
Nun zerbreche ich mir den Kopf darüber, wie ich es so einrichten kann, dass das Skript (eine Frau, die die Website betritt und die Besucher begrüßt) nur auf der Startseite angezeigt wird.
Danke, Chris. Bevor ich das wusste, habe ich setTimeout verwendet, und das Schlimme daran ist, dass wir nie genau wissen, wie lange das Laden der Seite im Browser des Benutzers dauert
Sollte unter IE9 gut funktionieren. Zumindest bei mir. Funktioniert aber nicht in IE8 und darunter.
Was jedoch nicht funktioniert, ist die aktuelle Version von Firefox. Anscheinend behandelt Firefox .load und .ready gleich und lädt .load, nachdem das JavaScript geladen wurde, und wartet nicht auf alle Bilder und anderen Seiteninhalte wie die anderen Browser. Weiß jemand eine Lösung für Firefox?
Dieser Code hat die Aufgabe erfüllt, eine klebende Navigationsleiste am oberen Rand der Website daran zu hindern, beim Scrollen zu brechen, während die Seite noch CSS/JS/Bilder lädt
Toll… schon wieder jQuery. Wenn ich den Titel bei Google sehe, dachte ich, Sie würden etwas ohne Framework vorstellen. Bah, warum ignorieren die Leute die Tatsache, dass es nicht cool ist, eine 32KB jQuery-Bibliothek für etwas zu laden, das in wenigen Zeilen erledigt werden könnte.
Danke trotzdem… auch wenn das mir gar nicht geholfen hat.
Sie und Ihre Benutzer haben wahrscheinlich jQuery im Cache auf ihren Systemen, daher ist das wahrscheinlich kein Problem – und wenn Sie Google als CDN verwenden, ist es blendend schnell – also warum nicht?
Ich möchte mein minimiertes JS nach dem Laden der Seite laden. Derzeit dauert das Laden dieser JS-Datei 1,8 bis 2,5 Sekunden, was meine gesamte Webseitenladung auf 4,2 bis 5,1 Sekunden erhöht.
Wie kann ich dieses JS laden, ohne das Laden der Seite zu verzögern?
Wie immer, springen Sie auf Google und schauen Sie sich um, und das erste Ergebnis von Css-Tricks ist der Gewinner des Tages! Danke für Ihre investierte Zeit in die Webentwicklungs-Community, Chris.
Dieser Schnipsel hat meinen Tag gerettet, Chris, vielen Dank, ich finde immer mehr nützliche Dinge auf Ihrer Website für meine Frontend-Entwicklung, danke!!
$(window).bind("load", function(){
}); Die obige Funktion funktioniert nur beim ersten Laden gut. Aber wenn wir zu einer anderen Seite navigieren und zurückkehren. Die Funktion wird ausgeführt, bevor die DOM-Elemente vollständig geladen sind. Bitte sagen Sie mir, ob es einen anderen Weg gibt
Verwenden Sie jQuery Mobile? Prüfen Sie, ob die Antworten auf Ihre Schaltflächen/Links demselben DOM hinzugefügt werden. Verwenden Sie Firefox oder Firebug, um dies zu ermitteln. Wenn ja, liegt es daran, dass in jQuery Mobile der Modus standardmäßig auf Ajax steht. Sie müssen `rel="external"` in Ihren Links verwenden, um dies richtig zu machen, oder den Code umschreiben, damit er richtig im Framework funktioniert.
Ausgezeichneter Beitrag! Ich habe versucht, die DOM-Bereit-Funktion anstelle des HTML-Layouts in meiner App zu verwenden und sofort bemerkt, warum ich kein HTML einfügen konnte. :) Danke!
$(window).bind("load", function(){
}); Die obige Funktion funktioniert nur beim ersten Laden gut. Aber wenn wir zu einer anderen Seite navigieren und zurückkehren. Die Funktion wird ausgeführt, bevor die DOM-Elemente vollständig geladen sind. Bitte sagen Sie mir, ob es einen anderen Weg gibt?
Danke. Sie haben immer großartige Webdesign-Vorschläge. Es scheint, als ob alle anderen sagen, man solle .live() verwenden, was (laut meiner Recherche) veraltet ist. Selbst wenn es das nicht ist, rockt das! Danke!
Dieser Code hat die Aufgabe für Woontrendz erledigt, um zu verhindern, dass eine klebende Navigationsleiste am oberen Rand der Website beim Scrollen bricht, während die Seite noch CSS/JS/Bilder lädt
if (document.readyState === “complete”) { init(); }
/* uninitialized – Noch nicht mit dem Laden begonnen loading – Wird geladen interactive – Genug geladen und der Benutzer kann damit interagieren complete – Vollständig geladen
*/
Bezugnehmend auf Chris' Vorschlag: $(window).bind("load", function() {
Dies ist eine ausgezeichnete Funktion, die nach dem Laden ALLER JavaScript- und AJAX/JSON-Daten auf der Seite ausgeführt wird. Sie funktioniert auch in IE9.
Ich entwickle Frontend-SharePoint-Lösungen und Chris' Vorschlag ist der EINZIGE, der für mich funktioniert hat, um nach der gesamten Seite zu laden.
Interessant, danke, ABER wie kann ich ein eingebettetes YouTube-Video warten lassen, bis die Skripte auf einer Seite geladen sind? Im Moment, wenn der Ungeduldige auf ein Bild klickt und die Lightbox startet, zeigt es nicht das vergrößerte Bild wie vorgesehen, sondern nur den Zoom als separates Seite; das passiert nicht, nachdem das Video geladen ist, also ist es offensichtlich das Laden des Videos, das das Laden des Lightbox-Skripts verhindert.
???
Vielen Dank, Ich hatte Schwierigkeiten mit den Spaltenhöhen, weil Bilder nicht geladen wurden, bevor jQuery.ready ausgeführt wurde. Nur beim Aktualisieren, in Chrome. Aber es war mühsam, das herauszufinden. Als ich einen Alarm auslöste, konnte ich sehen, dass die Bilder nicht geladen waren, als der Alarm ausgelöst wurde. Also suchte ich nach dem Grund und dieser „kleine, aber manchmal entscheidende Unterschied“ machte es funktionsfähig. Danke
Ich habe den obigen Code ausprobiert, er scheint in Ordnung zu sein. Ich habe einen Zweifel bezüglich asynchronem JS. Wird das Onload-Ereignis nach dem Laden aller asynchronen JS-Dateien oder nach dem HTML-Rendering ausgelöst?
Gibt es auch eine Möglichkeit, die Priorität der asynchronen Aufrufe festzulegen?
Genial und sehr nützlicher Trick. Ich habe versucht, jQuery am Ende der Seite zu verwenden, aber es funktionierte nicht. Dann habe ich diesen Trick gefunden und hola, er funktioniert perfekt. Jetzt kann ich meinen Code laden, nachdem die gesamte Seite geladen ist. Danke Chris fürs Teilen
Nützlich NUR, wenn Sie bereits jQuery verwenden. Ich sehe jedoch keinen Sinn darin, die Seite mit einer weiteren .js (dh jQuery) zu überladen, nur um den Browser anzuweisen, die anderen Skripte zu verzögern.
Danke. Ich hatte Probleme, ein Skript beim Laden der Seite auszuführen, das die gesamte Seite erfordert, einschließlich der Bindung von Daten und der Anwendung von Skripten, die den DOM im .ready-Ereignis änderten. Nachdem ich den Code aus .ready in dies verschoben hatte, funktionierte es.
Vielen Dank – das hat mir sehr geholfen. Ich hatte Probleme beim Laden von Code aus einer anderen zentralen HTML-Datei und anschließender Aktualisierung. In diesem Fall war es die Bootstrap-Navbar, bei der ich die aktive Klasse ändern wollte.
Ich dachte, die Frage wäre, wie man JavaScript ausführt. Nicht jQuery…. Ja, jQuery ist eine JavaScript-Bibliothek, aber ich wollte ein Skript in Grease Monkey ausführen können, das kein jQuery verwendet. Eine reine JavaScript-Antwort wäre willkommen.
Ich habe einen Spinner bei document.ready mit jQuery platziert, aber er wird in Chrome nicht angezeigt und funktioniert in Firefox gut, was ist die Lösung?
Funktioniert das für Magento 2, denn in Magento 2 wird die Warenkorbseite geladen und dann das Formular geladen und ich kann das Skript nicht auf dem Formular ausführen und ich möchte auch die settimeout-Funktion nicht verwenden
Das sollte in jQuery rein.
Verschoben.
Eine Kurzform davon ist
$(function() {// Code hier
}
Da gibt es einen fundamentalen Unterschied. Dies ist, wenn das DOM bereit ist, was normalerweise ideal ist. Dies ist, wenn die gesamte Seite fertig geladen ist, was anders ist. Zum Beispiel wartet dies darauf, dass Bilder fertig geladen sind, damit Sie deren Breite und Höhe genau messen können, während Ihr Schnipsel nicht wartet. Ein kleiner, aber manchmal entscheidender Unterschied.
$(function() {
// Code hier
}
Ihre Syntax ist auch falsch. Es sollte lauten
$(function() { // code here });Stellen Sie sicher, dass Sie diese Klammern schließen und mit einem Semikolon beenden.
Danke @Makaze!
Es gibt einen Unterschied zwischen
$(function() {und// Code hier
}
$(window).bind("load", function() {. $(window).bind(‘load’, function(){}) wird nach dem Laden der Seite ausgeführt.// Code hier
});
Dieses hier funktioniert nicht… Das mag kurz sein… aber es funktioniert nicht
Ich brauche einen Demo-Link dafür.
Das ist wahrscheinlich mein erster Kommentar auf Ihrer Website und ich bin seit langem ein Fan und Leser, wahrscheinlich seit Podcast 20 XD
Ich konnte nicht herausfinden, wo ich diesen Code platzieren soll?
Wenn Sie mir helfen können, geben Sie mir ein Beispiel mit Ihrem „einfachen jQuery-Akkordeon“ – https://css-tricks.de/snippets/jquery/simple-jquery-accordion/
Danke, Chris!
Platzieren Sie den Code in Ihrem <head>HIER</head>-Bereich.
es hängt davon ab, wie viel Code Sie haben und ob Sie ihn wiederverwenden werden. Wenn Sie ihn wiederverwenden möchten, packen Sie die Funktion in die JS-Datei mit Verweis auf eine Variable, die sich darin befindet
Dann können Sie jeder Seite eine beliebige ID zuweisen, und wenn ein Element mit dieser ID vorhanden ist, wird es verarbeitet.
In der JS-Datei kodieren Sie Dinge nicht so sehr, sondern prüfen nur, ob die Variable vorhanden ist und welchen Wert sie hat.
Für dieses Beispiel wäre es wahrscheinlich übertrieben
:- )
Gibt es eine Möglichkeit, dies ohne jQuery zu tun? Ich verwende jQuery (aber das Skript wird am Ende der Seite geladen). Ich suche ein JS-Snippet, das im Inhalt verwendet werden kann (das ausgeführt wird, wenn die Seite geladen ist).
Eine Kleinigkeit. Wenn Sie die Schaltfläche „Kopieren in die Zwischenablage“ verwenden, kopiert sie mit geschweiften `“` und nicht nur geraden `"` . Mit den geschweiften funktionieren die Codes nicht…
Danke
// Nur eine andere Schreibweise für dasselbe.
$(window).load(function() {
// Hier kommt alles, was fertig geladen ist…
});
Danke Mann. Das hat perfekt für mich funktioniert.
Genial Mann… das ist es, wonach ich gesucht habe!
Wie füge ich das zu einer Blogger-Vorlage hinzu?
Ich versuche, die Seite vor der Karte zu laden (ich benutze Map Extreme). Obwohl ich die Document-Ready-Funktion verwende, versucht die Seite, mapLabels mit Seitenobjekten zu laden. Für eine Weile sieht der Benutzer meine Seite so, als gäbe es kein CSS. Nachdem die Karte ihre Aufgabe erledigt hat, wird das CSS geladen. Wie kann ich das beheben? Ich benutze Ihren Code, aber er hat für mich nicht funktioniert.
Hier ist ein Beispiel;
j(window).bind("load", function () {
MapXtremeJavascriptLib.init();
});
/* START BEREICH DER DOCUMENT READY FUNKTION */
j(document).ready(function () {
j(“.accordion”).accordion({
autoHeight: true,
navigation: true,
collapsible: true
});
/* ENDE BEREICH DER DOCUMENT READY FUNKTION*/
Genial! Vielen Dank :-)
Hallo zusammen,
Ich zerbreche mir den Kopf darüber, wie ich A: Einem JavaScript sagen kann, es soll warten, bis die gesamte Website geladen ist. Ich glaube, ich habe gerade die Lösung dafür gefunden. Und B: Das JavaScript soll nur auf der Startseite geladen werden.
Die Website läuft auf Joomla und vorher hatte ich das Skript aus einem benutzerdefinierten HTML-Modul ausführen lassen, das ich der Debug-Position zugewiesen und so eingestellt hatte, dass es nur auf der Startseite geladen wird.
Das funktionierte für Firefox, Chrome und Safari gut, aber IE war wie üblich widerspenstig.
Nun zerbreche ich mir den Kopf darüber, wie ich es so einrichten kann, dass das Skript (eine Frau, die die Website betritt und die Besucher begrüßt) nur auf der Startseite angezeigt wird.
Ich schätze jeden Vorschlag!
Danke im Voraus,
Andy
Danke, Chris. Bevor ich das wusste, habe ich setTimeout verwendet, und das Schlimme daran ist, dass wir nie genau wissen, wie lange das Laden der Seite im Browser des Benutzers dauert
Schade, dass es in IE9 nicht funktioniert :-(
$(window).load(function()Sollte unter IE9 gut funktionieren. Zumindest bei mir. Funktioniert aber nicht in IE8 und darunter.
Was jedoch nicht funktioniert, ist die aktuelle Version von Firefox. Anscheinend behandelt Firefox .load und .ready gleich und lädt .load, nachdem das JavaScript geladen wurde, und wartet nicht auf alle Bilder und anderen Seiteninhalte wie die anderen Browser. Weiß jemand eine Lösung für Firefox?
Danke
~ Ben
@Mark
Wird jQuery vorher geladen?
Sie liefern mir durchschnittlich 1 Antwort pro Tag. Vielen Dank!
funktioniert…..
Das ist genau das, was ich brauchte. Danke für die großartige Ressource!
Heiliger Bimbam. Das hat mir das Leben gerettet.
… ja, ich übertreibe vielleicht, aber nicht sehr.
Nachdem ich etwa vier Stunden damit verbracht hatte, einen externen Code mit jQuery Cycle zum Laufen zu bringen, löste dieser Schnipsel alles.
Danke!
Dieser Code hat die Aufgabe erfüllt, eine klebende Navigationsleiste am oberen Rand der Website daran zu hindern, beim Scrollen zu brechen, während die Seite noch CSS/JS/Bilder lädt
$(window).load(function() {
});
Vielen Dank!
Toll… schon wieder jQuery. Wenn ich den Titel bei Google sehe, dachte ich, Sie würden etwas ohne Framework vorstellen. Bah, warum ignorieren die Leute die Tatsache, dass es nicht cool ist, eine 32KB jQuery-Bibliothek für etwas zu laden, das in wenigen Zeilen erledigt werden könnte.
Danke trotzdem… auch wenn das mir gar nicht geholfen hat.
Sie und Ihre Benutzer haben wahrscheinlich jQuery im Cache auf ihren Systemen, daher ist das wahrscheinlich kein Problem – und wenn Sie Google als CDN verwenden, ist es blendend schnell – also warum nicht?
Das ist die großartigste Website über Webentwicklung!
Ich möchte mein minimiertes JS nach dem Laden der Seite laden.
Derzeit dauert das Laden dieser JS-Datei 1,8 bis 2,5 Sekunden, was meine gesamte Webseitenladung auf 4,2 bis 5,1 Sekunden erhöht.
Wie kann ich dieses JS laden, ohne das Laden der Seite zu verzögern?
Wie immer, springen Sie auf Google und schauen Sie sich um, und das erste Ergebnis von Css-Tricks ist der Gewinner des Tages! Danke für Ihre investierte Zeit in die Webentwicklungs-Community, Chris.
$(window).on(‘load’, function(){
// AWESOMENESS
})
Dieser Schnipsel hat meinen Tag gerettet, Chris, vielen Dank, ich finde immer mehr nützliche Dinge auf Ihrer Website für meine Frontend-Entwicklung, danke!!
Danke! Ich hatte Probleme, jQuery nach einer Menge Bilder laden zu lassen, und das hier funktioniert perfekt!
Wie Jubal erwähnt, wurde .bind zugunsten von .on als veraltet erklärt
$(window).bind("load", function(){
});
Die obige Funktion funktioniert nur beim ersten Laden gut. Aber wenn wir zu einer anderen Seite navigieren und zurückkehren. Die Funktion wird ausgeführt, bevor die DOM-Elemente vollständig geladen sind. Bitte sagen Sie mir, ob es einen anderen Weg gibt
Verwenden Sie jQuery Mobile? Prüfen Sie, ob die Antworten auf Ihre Schaltflächen/Links demselben DOM hinzugefügt werden. Verwenden Sie Firefox oder Firebug, um dies zu ermitteln. Wenn ja, liegt es daran, dass in jQuery Mobile der Modus standardmäßig auf Ajax steht. Sie müssen `rel="external"` in Ihren Links verwenden, um dies richtig zu machen, oder den Code umschreiben, damit er richtig im Framework funktioniert.
Ausgezeichneter Beitrag! Ich habe versucht, die DOM-Bereit-Funktion anstelle des HTML-Layouts in meiner App zu verwenden und sofort bemerkt, warum ich kein HTML einfügen konnte. :) Danke!
Wie führe ich das window.load-Ereignis nur einmal auf einer Webseite aus?
Das funktioniert in Firefox überhaupt nicht :(.
Ich dachte, ich wäre verrückt, aber es funktioniert definitiv nicht…
$(window).bind("load", function() {
alert('test');
});
Versuchen Sie diesen Code-Schnipsel in Chrome, er zeigt einen Alert „test“… in Firefox, nichts. Ich bin auf der aktuellen Version von Firefox (v 22).
Weiß jemand, wie das browserübergreifend funktioniert?
Gibt es eine Möglichkeit, dies zu implementieren, während Remote-Skripte geladen werden?
Z.B.
Danke.
Ich muss Riya’s Frage wiederholen
$(window).bind("load", function(){
});
Die obige Funktion funktioniert nur beim ersten Laden gut. Aber wenn wir zu einer anderen Seite navigieren und zurückkehren. Die Funktion wird ausgeführt, bevor die DOM-Elemente vollständig geladen sind. Bitte sagen Sie mir, ob es einen anderen Weg gibt?
Haben Sie eine Antwort auf diese Frage erhalten, bonaca? Ich kämpfe mit demselben Problem.
Guter Beitrag. Was ist der Unterschied zwischen bind und live?
Danke. Sie haben immer großartige Webdesign-Vorschläge. Es scheint, als ob alle anderen sagen, man solle .live() verwenden, was (laut meiner Recherche) veraltet ist. Selbst wenn es das nicht ist, rockt das! Danke!
Dieser Code hat die Aufgabe für Woontrendz erledigt, um zu verhindern, dass eine klebende Navigationsleiste am oberen Rand der Website beim Scrollen bricht, während die Seite noch CSS/JS/Bilder lädt
Vielen Dank!
Wie rufe ich das Click-Ereignis nach dem Laden der Seite in jQuery auf?
Ich muss diese Funktion nach dem Laden der Seite ausführen.
Bitte helfen Sie mir…
Es funktioniert wirklich!!!! Es hat mein Problem gelöst.
$(window).bind("load", function() {
});
Dieser Code funktioniert unter IE9 nicht richtig. Bevor einige Seiten geladen sind, wird diese Funktion ausgelöst…
Gibt es Hilfe für die WINDOWS.LOAD-Funktion für IE-Unterstützung?
if (document.readyState === “complete”) { init(); }
/*
uninitialized – Noch nicht mit dem Laden begonnen
loading – Wird geladen
interactive – Genug geladen und der Benutzer kann damit interagieren
complete – Vollständig geladen
*/
Das hat mir so sehr geholfen! Danke!
Sie rocken!!!!! Vielen Dank!
Das funktioniert perfekt.
Bezugnehmend auf Chris' Vorschlag: $(window).bind("load", function() {
Dies ist eine ausgezeichnete Funktion, die nach dem Laden ALLER JavaScript- und AJAX/JSON-Daten auf der Seite ausgeführt wird. Sie funktioniert auch in IE9.
Ich entwickle Frontend-SharePoint-Lösungen und Chris' Vorschlag ist der EINZIGE, der für mich funktioniert hat, um nach der gesamten Seite zu laden.
Vielen Dank!
Interessant, danke, ABER wie kann ich ein eingebettetes YouTube-Video warten lassen, bis die Skripte auf einer Seite geladen sind?
Im Moment, wenn der Ungeduldige auf ein Bild klickt und die Lightbox startet, zeigt es nicht das vergrößerte Bild wie vorgesehen, sondern nur den Zoom als separates Seite; das passiert nicht, nachdem das Video geladen ist, also ist es offensichtlich das Laden des Videos, das das Laden des Lightbox-Skripts verhindert.
???
Ich habe das recherchiert und eine angeblich von Google empfohlene, browserübergreifende Methode gefunden, die dasselbe tut
Quelle: Feedthebot
AUSGEZEICHNET, Mann. Ich schulde dir ein Bier.
Vielen Dank,
Ich hatte Schwierigkeiten mit den Spaltenhöhen, weil Bilder nicht geladen wurden, bevor jQuery.ready ausgeführt wurde. Nur beim Aktualisieren, in Chrome. Aber es war mühsam, das herauszufinden.
Als ich einen Alarm auslöste, konnte ich sehen, dass die Bilder nicht geladen waren, als der Alarm ausgelöst wurde. Also suchte ich nach dem Grund und dieser „kleine, aber manchmal entscheidende Unterschied“ machte es funktionsfähig.
Danke
Ohne jQuery
Funktioniert super, danke!
Das hat mir sehr geholfen.
Ich hatte eine Reportviewer-Steuerung, die nicht über window.onload druckte.
Das hat das Problem behoben.
Nochmals vielen Dank
Es hat mir geholfen. Danke.
Ich habe den obigen Code ausprobiert, er scheint in Ordnung zu sein. Ich habe einen Zweifel bezüglich asynchronem JS. Wird das Onload-Ereignis nach dem Laden aller asynchronen JS-Dateien oder nach dem HTML-Rendering ausgelöst?
Gibt es auch eine Möglichkeit, die Priorität der asynchronen Aufrufe festzulegen?
Danke für das Teilen des Wissens! Der Code und die Erklärung haben sehr geholfen!
Genial und sehr nützlicher Trick. Ich habe versucht, jQuery am Ende der Seite zu verwenden, aber es funktionierte nicht. Dann habe ich diesen Trick gefunden und hola, er funktioniert perfekt. Jetzt kann ich meinen Code laden, nachdem die gesamte Seite geladen ist. Danke Chris fürs Teilen
Danke für deinen Code, aber ich möchte ein Formular nur einmal beim Laden der Seite übermitteln, aber es gerät in eine Schleife. Gibt es eine Lösung?
$(window).bind("load", function() {
// Code hier
$( "#id" ).submit();
});
Wie kann ich jQuery-Code ausführen, nachdem andere Seiten geladen wurden???
Das funktioniert sogar in SharePoint-Umgebungen! Toll
Vielen Dank, ich musste wirklich verstehen, wie das für eine Website mit voneinander abhängigen dynamischen Div-Höhen geht. Genial.
Ohne jQuery einzubinden und mit reinem JavaScript
window.onload = function () { alert("Es ist geladen!") }
Danke!
Vielen Dank soooo sehr :)
Basierend auf meinen Lektüren heute glaube ich, dass der jQuery-Weg jetzt so ist
Anstelle von .bind() oder sogar .load().
Falls jemand anderes es weiß, würde ich gerne etwas Autorität darüber hören, ob dies wartet, bis auch iframes fertig geladen sind.
Es scheint, dass $(window).on("load"…) nicht auf das Laden von iframes wartet, aber ich könnte etwas übersehen.
Jay
Schön, ich habe mich gefragt, wofür sie nützlich sind. Wir können viele notwendige Dinge tun, wenn die Seite geladen ist.
Die Vanilla-JavaScript-Version
Nützlich NUR, wenn Sie bereits jQuery verwenden.
Ich sehe jedoch keinen Sinn darin, die Seite mit einer weiteren .js (dh jQuery) zu überladen, nur um den Browser anzuweisen, die anderen Skripte zu verzögern.
Danke. Ich hatte Probleme, ein Skript beim Laden der Seite auszuführen, das die gesamte Seite erfordert, einschließlich der Bindung von Daten und der Anwendung von Skripten, die den DOM im .ready-Ereignis änderten. Nachdem ich den Code aus .ready in dies verschoben hatte, funktionierte es.
Hallo,
Ich muss mit scrollTop zu einem durch AJAX gerenderten Element springen. Wie kann ich das machen?
Ich habe alle Tricks wie settimeout, document.ready, ajax complete, ajax done ausprobiert, aber ohne Erfolg. Bitte helfen Sie.
Vielen Dank – das hat mir sehr geholfen. Ich hatte Probleme beim Laden von Code aus einer anderen zentralen HTML-Datei und anschließender Aktualisierung. In diesem Fall war es die Bootstrap-Navbar, bei der ich die aktive Klasse ändern wollte.
Wie kann ich einen Button automatisch klicken, wenn die Seite innerhalb von $(windows).load geladen ist?
Es funktioniert perfekt, aber wenn ich das zweite Mal neu lade, wird der Code im Inneren nicht ausgeführt, gibt es Gründe dafür?
Toller kleiner Trick. Danke
Versuch das hier
$(document).ready(function(){
//Coole Sachen
});
Es hat auch bei mir funktioniert. Danke für solch wertvolle Tipps. Ich habe es mit dem folgenden Code versucht, der nicht funktionierte
$(document).ready(function(){
//Code hier
});
Sicherlich gibt es einen Unterschied...
Ich dachte, die Frage wäre, wie man JavaScript ausführt. Nicht jQuery…. Ja, jQuery ist eine JavaScript-Bibliothek, aber ich wollte ein Skript in Grease Monkey ausführen können, das kein jQuery verwendet. Eine reine JavaScript-Antwort wäre willkommen.
Ah. Habe es gerade gefunden. Danke an die eine Person, die die Frage beantwortet hat. :)
Ich habe einen Spinner bei document.ready mit jQuery platziert, aber er wird in Chrome nicht angezeigt und funktioniert in Firefox gut, was ist die Lösung?
Funktioniert das für Magento 2, denn in Magento 2 wird die Warenkorbseite geladen und dann das Formular geladen und ich kann das Skript nicht auf dem Formular ausführen und ich möchte auch die settimeout-Funktion nicht verwenden