Gibt es ein öffentlich verfügbares CDN, das JSON2 hostet?

78

Es ist bekannt, dass Google und Microsoft mehrere gängige Javascript-Bibliotheken auf ihren CDNs (Content Distribution Networks) hosten. Leider scheint keiner von beiden JSON2.js zu hosten .

Ich bin mir bewusst, dass ich eine Kopie von JSON2.js auf meinen Server hochladen und selbst bereitstellen kann, aber es gibt eine Reihe von Vorteilen, die CDNs bieten, die ich nutzen möchte.

Gibt es in diesem Sinne öffentlich verfügbare CDNs, die JSON2 hosten? Wenn nicht, eine Idee warum? Gibt es einen urheberrechtlichen Grund?

Xavi
quelle

Antworten:

60

Kasse cdnjs.com

http://cdnjs.com/libraries/json2/

Könnte es auch wert sein, Json3 zu untersuchen

http://cdnjs.com/libraries/json3/

UPDATE : Einige der Informationen waren veraltet und wurden in bessere Links geändert.

Dve
quelle
@ Xavi: nicht auf CDNJS. Sie können es auf der cdnjs-Website
vorschlagen
cdnjs sieht nach einer sehr coolen Initiative aus! Die Jungs reagieren auch super auf Feedback. Vielen Dank für den Hinweis.
Webmat
Webmat: Keine Sorge. Es ist eine großartige Idee. Ich benutze es jetzt schon eine Weile. Ich habe auch keine Ausfallzeiten gesehen.
Dve
12
Thomas von cdnjs.com hier mit zwei schnellen Gründen, warum es keine minimierte Version gibt. 1) Das Skript funktioniert möglicherweise nicht als der Autor, der die von uns gewählte Minimierungsmethode verwendet. 2) Als Sicherheitsschritt stellen wir sicher, dass alle Prüfsummen der Dateien mit den von den ursprünglichen Autoren gehosteten Dateien übereinstimmen, damit von der Community eingereichte Updates keinen fehlerhaften minimierten Code enthalten können. Das lässt uns also vorerst Crockfords gehostete nicht minimierte Version hosten; github.com/douglascrockford/JSON-js/raw/master/json2.js lol Kannst du keine neuen Zeilenzeichen in Kommentare einfügen?
Thomas Davis
3
Nur zu Ihrer Information: Ich habe in meinem letzten Projekt json2 von cdnjs.com bereitgestellt. Ich habe den Link dafür von dieser Stackoverflow-Seite bekommen. Einige der IEs da draußen mochten das nicht. Ich konnte nicht herausfinden, warum, da dies alles verschiedene Versionen von 7 bis 9 waren. Einige IEs interpretierten json2 im KOI-7-Format. Infolgedessen erhielten die Benutzer einen JavaScript-Fehler: "JSON ist nicht definiert". Ich habe versucht, das Attribut @charset des Skript-Tags auf UTF-8 zu setzen, aber das Problem wurde dadurch nicht gelöst. Mein Fix war, json2 zusammen mit meinen anderen js-Dateien bereitzustellen. (Komprimiert und minimiert). Bei Fragen stehe ich Ihnen gerne zur Verfügung.
Dimskiy
5

Ich denke, es ist wahrscheinlich zu früh, um zu erwarten, dass die großen CDNs damit beginnen. Wenn genügend Websites eine Bibliothek verwenden, werden die Vorteile deutlich: höhere Verfügbarkeit, häufigere Nutzung, geringere Clientanforderungen, höhere Leistung für den Endbenutzer. Wenn nur wenige Websites es verwenden, ist die Wahrscheinlichkeit gering, dass der Client bereits eine Kopie im Cache hat, und alle Leistungssteigerungen gehen verloren. Alles, was übrig bleibt, ist, dass MS und Google Ihre Bandbreitengebühren ausgleichen, was nicht ihre Absicht ist. Daher besteht die Lösung darin, mehr Entwickler dazu zu bringen, die Bibliothek zu verwenden.

Außerdem ist die Bibliothek so klein. Der Code ist bei konservativer Minimierung immer noch nur 3,5 KB groß. Zum Vergleich: jQuery ist 24 KB groß und ext-core ist 29 KB groß. Ich persönlich würde empfehlen, die Bibliothek in das Basis-JS Ihrer eigenen Site zu falten und dort Ihre Leistung zu steigern. Zumindest bis es eine breitere Akzeptanz gibt.

Außerdem ist es lustig, dass ich erwartet hätte, dass die JSON-Bibliothek auch bei Yahoo gehostet wird, aber ich kann sie nicht finden. Ich meine, Crockford arbeitet dort.

Andrew
quelle
Das sind faire Punkte. Das JSONObjekt wird in vielen Browsern zum Standard, daher muss es JSON2.jsabgelehnt werden. Auch die Bibliothek ist winzig! Es ist nur so, dass ich mir angewöhnt habe, kleine, in sich geschlossene JS-Apps zu erstellen, die ich schnell hochladen oder per E-Mail an andere senden kann. Ab und zu benutze ich das JSONObjekt. In diesen Fällen funktioniert meine JS-App entweder nicht in IE6 / 7 oder ist nicht mehr in sich geschlossen. = (
Xavi
4

Thomas von cdnjs.com hier mit zwei schnellen Gründen, warum es keine minimierte Version gibt.

1) Das Skript funktioniert möglicherweise nicht wie der Autor, der die von uns gewählte Minimierungsmethode verwendet. 2) Als Sicherheitsschritt stellen wir sicher, dass alle Prüfsummen der Dateien mit den von den ursprünglichen Autoren gehosteten Dateien übereinstimmen, damit von der Community eingereichte Updates keinen fehlerhaften minimierten Code enthalten können.

Das lässt uns also vorerst Crockfords gehostete nicht minimierte Version hosten; https://github.com/douglascrockford/JSON-js/raw/master/json2.js

Thomas Davis
quelle
2

Das gibt es jetzt.

Douglas Crockford hat kürzlich JSON2 auf Github gestellt. Diese URL wird immer auf die neueste Version verweisen .

Bearbeiten: Es ist keine gute Idee, diese Methode zu verwenden, siehe meinen Kommentar unten.

DannyLane
quelle
Sollte das https http für Seiten sein, die Inhalte nicht sicher bereitstellen? dh nicht "sichere und unsichere Inhalte mischen"?
Shaggy Frog
5
Auf den zweiten Blick halte ich es nicht für eine gute Idee, Github als CDN zu verwenden. Siehe die Antwort auf diese Frage: stackoverflow.com/questions/5502540/…
DannyLane
4
@ShaggyFrog Ein Trick: Sie können das http:oder entfernen https:, und das Skript wird mit der richtigen Methode für diese Site
geladen
@DannyLane, Sie sollten Ihre Antwort mit den Informationen über die Nichtverwendung von GitHub als CDN für JS bearbeiten.
asymmetrisch
Ich bin mir nicht sicher, warum diese Antwort kürzlich abgelehnt wurde. Ich habe sie korrigiert, um zu sagen, dass ich diese Methode vor fast 3 Jahren nicht verwenden soll.
DannyLane