Wprowadzono zmianę
W ramach wersji 9.2.10.x domyślna biblioteka Jquery używana przez portal została uaktualniona z wersji 1.12.4 do wersji 3.0.0.0 w celu ulepszenia stanu zabezpieczeń portali.
Ta zmiana wiąże się również z uaktualnieniem migracji Jquery do wersji 3.x, aby zapewnić, że wszystkie interfejsy API języka JavaScript, które były obsługiwane w wersji Jquery 1.12, nadal działają bez zmian.
Potencjalna zmiana powodująca niezgodność
Jeśli masz niestandardowy kod javscript w portalu, który używa interfejsów API Jquery, które zostały zdeperecowane lub miały zmienione zachowanie w wersjach Jquery 1.3, 1.6, 1.7, 1.8 i 1.9, te interfejsy API nie będą już działać lub będą miały zmienione zachowanie, zgodnie z dokumentacją Jquery.
Więcej informacji na temat interfejsów API, które zostały wycofane w starych wersjach Jquery można znaleźć tutaj
- Jquery 1.3 - https://api.jquery.com/category/deprecated/deprecated-1.3/
- Jquery 1.6 - https://api.jquery.com/category/version/1.6/
- Jquery 1.7 - https://api.jquery.com/category/deprecated/deprecated-1.7/
- Jquery 1.8 - https://api.jquery.com/category/deprecated/deprecated-1.8/
- Jquery 1.9 - https://api.jquery.com/category/deprecated/deprecated-1.9/
Najczęstszym interfejsem API, w którym nastąpiła zmiana zachowania w jquery 1.6 i nowszych, jest attrhttps://api.jquery.com/attr/(). Ten interfejs API zwraca wartość undefined po wersji Jquery 1.6+
Jak łagodzić skutki
Poniżej przedstawiono opcje, których możesz użyć, aby rozwiązać ten problem.
- Zalecane —> Zaktualizuj niestandardowy kod JavaScript, aby użyć nowego interfejsu API Jquery obsługiwanego przez wersję Jquery 3.0.
- Możesz również załadować odpowiednią wersję jquery, której wymaga interfejs API, używając plików internetowych portalu. Upewnij się jednak, że używasz interfejsu API noconflict jquery (https://api.jquery.com/jquery.noconflict/), aby upewnić się, że nie ma konfliktu z bibliotekami jquery ładowanymi domyślnie w portalu.
Ta opcja nie jest zalecana, ponieważ starsze wersje bibliotek Jquery mają znane luki w zabezpieczeniach.