Ich habe folgende Situation: Ich habe 86 Charts (ChartsJS) in drei Kategorien unterteilt. Ich benutze JQueryUI Tabs, um jede Kategorie einzeln auf einer separaten Registerkarte anzuzeigen. Die Sache ist, dass aufgrund der großen Menge von Javascript in die Seite eingebettet, Ladezeit der Seite ist über 7 Sekunden, in denen JS Parsing und Ausführung über 5.2 dieser Zeit dauert (gemessen mit Google Chrome).Wie faul bewerten und Javascript ausführen?
Ich frage mich, gibt es eine Möglichkeit, die JavaScript-Teile zu bewerten, die Elemente, die dem Benutzer noch nicht präsentiert werden (nicht auf der derzeit geöffneten Registerkarte) rendert. Bitte beachten Sie, dass ich nicht nur bestimmte Skripte auf Tab-Wechsel ausführen möchte (dies ist offensichtlich und einfach zu machen), sondern das benötigte Skript nach Bedarf zu einem bestimmten Zeitpunkt nach dem Laden der Seite zu bewerten.
EDIT: Ich muss klarstellen, dass meine JS dynamisch generiert daher asyncload von Datei ist keine Option. Dies könnte ein Konstruktionsfehler auf meiner Seite sein.
Hier ist eine Zeitleiste aus Chrom:
Das Tab-Plugin hat Ereignisse, zu denen Sie einen Haken haben können. Daher können Sie wissen, welche Charts gerade sichtbar sind und nur diese Charts laden. –
@RoryMcCrossan das ist wahr und die Handhabung dieses Ereignisses ist kein Problem. Das Problem besteht darin, wie man js auswerten und sofort ausführen kann, ohne die Datei zu laden. – Antoniossss
Ich sehe nicht, wie das ein Problem wäre? Verwenden Sie den Rückruf der AJAX-Anfrage, um die Diagramme zu initialisieren, nachdem sie an das DOM angehängt wurden. –