Protejați-vă de conectarea jQuery de mai multe ori
În proiectele mari, poate exista o problemă în care jQuery este conectat de mai multe ori. Ce ar trebui să fac?
Într-adevăr, atunci când un proiect este mare și constă din multe părți logice independente care pot sau nu să fie prezente în prealabil, un principiu nedefinit, o problemă similară ar putea apărea.
De exemplu, aveți jQuery în partea de cod și ați atârnat un set de plug-in-uri. După aceea, un alt programator adaugă o altă parte a codului, care este situat mai jos. Conectează, de asemenea, această minunată bibliotecă jQuery, fără să suspecteze că aceasta poate fi deja conectată în unele variante ale paginii. Firește, toate plug-in-urile și funcțiile atașate se vor multiplica cu zero, adică - vor dispărea într-o direcție necunoscută. Cum putem evita o astfel de problemă?
Și apoi suntem salvați de structura jQuery în sine, și anume că jQuery nu contrazice spațiul de nume, dar inițializează numai obiectul window.jQuery, iar porecla scurtă este fereastra $.
Deci, trebuie doar să verificăm dacă jQuery este deja inițializată și dacă nu, inițializați-o.
Acest lucru se poate face în mai multe moduri:
1. Cea mai ușoară și mai sigură:
Deschidem biblioteca însăși și o înfășurăm în felul următor:
//.
// Uneori jQuery poate fi inclus mai mult decât unul,
// și după fiecare
// toate jquery-plugins-ul elimina automat.
// De aceea a fost setat următorul cod de verificare.
// Acest cod inițiază jQuery
// doar dacă nu a fost inițiat devreme.
dacă (window.jQuery == undefined) // aici este întregul cod sursă al jQuery
//.
>
După aceasta, puteți redenumi numele fișierului, de exemplu, la următoarele:
jquery-1.3.2.if-undefined.min.js pentru a evita mashing-ul accidental și conectați-l. Deși în acest caz va trebui să schimbați numele bibliotecii în toate fișierele în care se conectează și acest lucru nu este foarte eficient. În plus, în viitor, poate exista o persoană care să nu știe despre această remediere sau să uite de ea și să conecteze o bibliotecă cu un nume standard.
Dacă numele este lăsat standard, această protecție va funcționa peste tot în mod automat.
Deci depinde de tine.