Ich habe eine Dashboard-Seite, die eine Reihe von Abschnitten enthält, die jeweils unterschiedliche Daten liefern. Das Abrufen aller Daten und anschließende Senden der Seite ist langsam. Von einem wahrgenommenen Performance-Standpunkt, ich denke, der beste Weg, dies zu tun ist, um die Seite mit jedem dieser Abschnitte mit nichts zu laden, dann verwenden Sie Jquery Ajax, um asynchron die verschiedenen Stücke von Daten zu erhalten. Allerdings ist es in meinem Kopf gebohrt worden, dass ich nicht auf Javascript abhängen sollte aktiviert werden. Gibt es eine Möglichkeit zu erkennen, ob Javascript in der anfordernden Browser aktiviert ist, bevor Sie die Seite zurück? Oder, vielleicht ist die bessere Frage, was ist der beste Weg, um dies zu tun?
Antworten
Zu viele Anzeigen?Wenn Ihr Dashboard Teil eines Backend-Systems ist, dann würde ich JavaScript zur Voraussetzung machen und AJAX zur Aktualisierung der Seite verwenden. Die visuelle Reaktionsfähigkeit wird dadurch erheblich verbessert, und als Backend einer Website (oder App) hat es ein begrenzteres und kontrollierbares Publikum.
Achten Sie darauf, dass eine Art Warnung erscheint, wenn JS deaktiviert ist.
Sogar auf Frontend-Seiten ist es fraglich, aber viele Programmierer entscheiden sich immer noch dafür, keine JS-Unterstützung einzuplanen, was in diesem Szenario ein wenig schwierig zu implementieren wäre.
Ich denke, Sie sollten Ihre Seite mit unaufdringliches Javascript .
Damit können Sie eine perfekt funktionierende Seite für nicht javascriptfähige Browser erstellen, die für (die überwiegende Mehrheit) der javascriptfähigen Browser verbessert werden kann.
Um zu verhindern, dass eine einzige Anfrage eine große Last für Nicht-Javascript-Browser darstellt, sollte der Benutzer auf einen Link klicken müssen, um die einzelnen Daten zu erhalten.
Sie sollten dies wahrscheinlich in zwei Schritten tun:
-
Programmieren Sie Ihre Seite so, als ob es kein Javascript gäbe. Verwenden Sie semantisches Markup und eine gute CSS-Struktur (die leichter zu manipulieren sein wird, sobald Sie anfangen, herumzuspielen), aber verwenden Sie kein Javascript, was auch immer.
-
Wenn alles funktioniert, fangen Sie an, Javascript-Verschönerungen hinzuzufügen. Animationen, asynchrone Aufrufe (die möglicherweise eine weitere Implementierung auf der Serverseite erfordern) und andere Dinge, aber nichts, wofür Sie die HTML aus Schritt 1 ändern müssen. Wenn Sie die HTML anders sein müssen, ändern Sie sie mit Javascript - auf diese Weise werden Sie nichts in Ihrer Fallback-App zerstört haben.