Frage

Ist es sicher, JQuery Skript mit JSONP zu injizieren?

Die Installation von meiner Web-Anwendung - das Hinzufügen eines Skripts zu einem Kunden-Website (wie Google Analytics). Ich war auf der Homepage des Anbieters von mit JQuery denken, als Teil meiner eigenen injizierte Skript.

Ich habe mich gefragt, ob es irgendeine Art von Gefahr ist? Die Anwendung muss jede Art von Website unterstützen.

Danke Yaron

War es hilfreich?

Lösung

Es ist schwer zu sagen, was Sie mit Ihrer Bibliothek tun, aber es scheint, dass Sie irgendeine Art von Widget für die Verwendung an mehreren Standorten aufbauen.

Von hier unten nach einem erleuchtenden Kommentar aktualisiert wurde von @K Prime hat ich genau untersuchen, wie Sie zwei Kopien von jQuery enthalten könnten, wenn nötig:

Es ist im Allgemeinen schlecht jQuery zu verwenden, wenn Sie ein Widget erstellen, die auf einer Website außerhalb Ihre Kontrolle leben, und wird mit einem auf der Website hinzugefügt werden " kopieren Sie diesen Code aus und fügen Sie ihn auf Ihrer Website“Art von Funktionalität. (Natürlich jQuery Widgets und Plug-in gibt es zuhauf, aber diese sind in der Regel ausgewählt und installiert / implementiert von den Entwicklern nicht eine generische "copy-n-Paste" Widget-Typ-Implementierung)

Wahrscheinlich der größte Grund (nach der Realisierung Sie können laufen zwei Kopien von jQuery auf der gleichen Seite) ist die Dateigröße zu erhöhen. Ob es gerechtfertigt ist, auf Ihre besonderen Bedürfnisse und Funktion abhängen. Einfache kleine Widget = gerade JS. Komplexe Website Front-End-Verlängerung, dann ist es wahrscheinlich lohnt sich die Datei-Größe zu erhöhen.

es richtig ist (so dass Sie laufen nicht in Konflikte auf ihrer Website) folgt einem Workflow, der etwa wie folgt aussieht:

  1. Dynamisch hinzufügen jQuery auf ihre Seite mit den Google-APIs wie hier auf den anderen Antworten erwähnt.
  2. Ausführen var mywidget_jQuery = $.noConflict( true );, die die ursprüngliche Bedeutung von $ wiederherzustellen und die ursprüngliche Bedeutung von window.jQuery wiederherzustellen.
  3. hinzufügen Dynamisch Skriptdatei, aber sicher sein, die ganze Sache in einem selbst Ausführung anonyme Funktion wie diese wickeln:

JS

(function($){
    ... Your code here ...
})(mywidget_jQuery);

Jetzt können Sie sicher $ in Ihrer speziellen Funktion verwenden und alle jQuery Funktionen, die Sie wollen, ohne Frage.

Zusätzlicher Kredit Sie können die Schritte 1 und 2 in einer if-Anweisung wickeln, dass Tests, wenn window.jQuery definiert ist, und wenn es, zu testen, ob jQuery.fn.version hoch genug ist, Ihren Code auszuführen. Wenn einer der Tests fehlschlägt, dann Schritte ausführen 1 und 2. Wenn es passiert, aber dann nur var mywidget_jQuery = window.jQuery laufen, so dass das Skript in Schritt umfasst 3 wird noch ausgeführt werden.

Andere Tipps

Sie können durch einfaches Hinzufügen eines <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.js" /> Elements jQuery zu einer Webseite hinzuzufügen.

Stellen Sie jedoch sicher jQuery.noConflict() falls nennen sie verwenden ein anderes $ Stichwort .

Wenn Sie nur nach einem Verweis auf die Bibliothek sind, warum würden Sie nicht verknüpfen nur auf die API auf Google Code ?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top