ПредишенСледващото

Защита включително няколко пъти JQuery

проблем, когато JQuery е свързан по няколко пъти може да се случи в големи проекти. Какво да се прави?

В действителност, когато проектът е голям и се състои от много независими логически части, които впоследствие могат да бъдат или да не преминете на принципа на неопределеността - може да има подобен проблем.
Например, вие сте в моята част от кода закачен JQuery и поставите набор от плъгини. След това още един програмист добавя още част от код, който се намира по-долу. Той също така се свързва този прекрасен JQuery библиотека, без да знае за това, че тя може вече да е свързан с някои варианти на селото. Естествено всичките си плъгини и окачена функция умножава по нула, тоест - ще изчезне в неизвестна посока. Как да се избегне този проблем?

И тук ние спаси структурата на JQuery, а именно, че JQuery не замърсява пространството от имена и нулира само window.jQuery възрази и по-кратък псевдоним -. Window $.
По този начин ние трябва само да провери дали вече подготвен JQuery, а ако не - тогава тя се инициализира.

Това може да стане в няколко варианта:

1. лесният и безопасен:
Отваряне на самата библиотека и го увийте по следния начин:


//.
// Понякога JQuery могат да бъдат включени повече от тези,
// и след всеки следващ включително
// всички JQuery-плъгини премахват автоматично.
// Ето защо следващата проверка код е бил определен.
// Този код initing JQuery
// само ако той не е бил inited рано.
ако (window.jQuery == неопределено) // тук е целият сорс кода на JQuery
//.
>

След това можете да преименувате името на файла, например, на това:
JQuery-1.3.2.if-undefined.min.jsvo предотврати случайно изтриване, и да го свържете. Въпреки, че в този случай е необходимо да промените името на библиотеката във всички файлове, където се свързват, и то не е много ефективна. В допълнение, в бъдеще може да се намери един човек, който няма да знае за това Fix или просто да забравите за него, и се свързва библиотеката със стандартната име.
Ако името на стандарта да си тръгне, тази защита ще се активира автоматично навсякъде.
Така че вие ​​решавате.

Подкрепете проекта - споделете линка, благодаря!