jQuery.noConflict() ist dafür gedacht, $ einem anderen Javascript-Framework zurückzugeben. $ wird von verschiedenen benutzt und ist daher ein kritischer Punkt, wenn mehrere Frameworks geladen werden. Denn dann führt der Aufruf von $ dazu, dass nicht jQuery, sondern das andere Framework aufgerufen wird.
Solch eine Situation kann unter Serendipity recht schnell passieren. Das Lightbox-Plugin nutzt Prototype, will man dieses und commentedit oder livecomment gleichzeitig nutzen, die beide auf jQuery setzen, hat man genau diesen Konflikt. Deshalb rief ich beim commentedit-Plugin noConflict auf - und wunderte mich gestern, warum das livecomment-Plugin nicht gleichzeitig mit commentedit funktionierte. Dabei ist das klar: $ war auch dort nicht mehr mit jQuery verbunden. Zwar stand commentedit nicht mehr mit lightbox im Konflikt, dafür aber nun mit jedem andere jQuery-Plugin wie livecomment. Also musste auch dort von $ auf jQuery umgestellt werden. Das Update ging gestern raus.
Dafür brauchen wir feste Regeln. Nutzt jetzt jemand jQuery im Template samt $-Aufrufen, würde die Installation der Plugins seinen Code unbrauchbar machen. Entweder wird nur noch jQuery (oder eben ein anderes Framework) benutzt, oder es wird immer mit noConflict() aufgerufen.