Nachdem Sie eine weitere Frage zu JQuery und CDNs gelesen haben, können Tools wie JQuery den Browser "mitnehmen", wodurch der Bedarf für den ersten Download von einem CDN oder von Ihrem eigenen Hostserver verringert / beseitigt wird.
Insbesondere JQuery-Dateien sind recht klein, sodass Sie im Rahmen einer Browser-Installation problemlos eine Reihe (alle?) Der verschiedenen Versionen installieren können. Dies würde den Platzbedarf für die Installation und die Download-Zeit für den Browser erhöhen.
Dann könnten Sites zuerst "local" überprüfen, bevor CDN (das dann zwischengespeichert wird), bevor sie schließlich standardmäßig vom Website-Server selbst herunterladen.
Wenn dies machbar ist, wurde es gemacht, und wenn nicht, warum wurde es nicht gemacht?
quelle
Array.prototype.forEach
,Array.prototype.indexOf
,Object.create
Sind Beispiele für Code, der in die JavaScript - Engine selbst gebündelt wurde.Antworten:
Es gibt keinen technologischen Grund, warum sie nicht konnten. Dies ist jedoch nicht erforderlich und verstößt gegen die grundlegende Philosophie des Webs. Dies ist nicht erforderlich, da Sie mit einem in ferner Zukunft abgelaufenen Header fast dasselbe erreichen können. Dies verstößt gegen die Philosophie des Webs, da es eine zentrale Autorität von oben nach unten gibt, über die Bibliotheken mit dem Browser gebündelt werden sollten.
Edit: JS-Bibliotheken sind in erster Linie dazu da, den Umgang mit dem DOM zu erleichtern. Ich denke nicht, dass das Bündeln von Bibliotheken von Drittanbietern mit dem Browser der richtige Weg ist, um die DOM-API angenehmer zu gestalten.
quelle
Eigentlich existiert das, was Sie beschreiben, schon seit Jahren. Es heißt Caching . Und es ist nicht nur für JQuery verfügbar, sondern für alles, was Ihr Browser herunterladen kann.
Genau das macht jeder Browser. Es überprüft zuerst den lokalen Cache und lädt dann bei Bedarf einen von CDN herunter. Bei richtiger Cache-Konfiguration gibt es sogar monatelang keinen Roundtrip zum Server (um nach einer neueren Version zu suchen).
Das Einbinden von JQuery in das Browser-Setup würde:
Hinzufügen unnötiger Komplexität zur Browseranwendung und zum Setup,
Hinzufügen unnötiger Komplexität zum Aktualisierungsprozess,
Erhöhen Sie die Anzahl der Aktualisierungen, um die aktuelle Version von JQuery auch für Benutzer zu erhalten, die sie nicht benötigen.
Fügen Sie Verwirrung hinzu: Warum JQuery und nicht Prototype oder ein anderes Framework, Bild, CSS-Datei usw.?
etc.
Die Komplexität eines Softwareprodukts zu erhöhen, ohne dass die Funktionen, die Leistung usw. davon profitieren, ist eine äußerst schlechte Idee.
quelle
Vergessen Sie nicht, dass jQuery eine js-Bibliothek ist, es scheint de facto eine geworden zu sein und als Allheilmittel zu gelten (bis es auf SO einprägsam wird), aber es ist nur eine js-Bibliothek.
Alles, was für die Skripterstellung standardisiert ist (EMCAScript), ist bereits im Browser enthalten. Alles andere, was zu anderen Browsern hinzugefügt wird, würde vom Standard abweichen und Sie würden mit browserübergreifenden Problemen für nicht standardisierte Browser (wie das IE-Ereignismodell) enden ), die einen Teil des Grundes beeinflussen, warum Bibliotheken wie jQuery überhaupt erstellt wurden.
Kurze Antwort: Sie könnten einbezogen werden, sollten es aber nicht.
quelle
Browser-Caching bietet so etwas wie das, worüber Sie sprechen. Es sollte der Fall sein, dass jQuery oder eine andere JS-Bibliothek einmal heruntergeladen und dann bei weiteren Anforderungen aus dem Cache abgerufen wird.
Obwohl jQuery die allgegenwärtigste JavaScript-Bibliothek ist, ist es nicht die einzige, und es scheint mir, dass es für das JS-Ökosystem schlecht wäre, sie zu einer installierten Komponente des Browsers zu machen. Der Wettbewerb ist gesund und führt in der Regel zu Innovationen, und wir Entwickler und Software-Anwender wären nicht gut beraten, wenn wir jQuery eine Sonderstellung einräumen würden.
Sobald Sie das Caching berücksichtigen, ist der Vorteil, den Sie erzielen, sehr, sehr gering. Die minimierte Version von jQuery ist nur 31 KB groß. Das ist kein Grund, etwas zu ändern .
quelle