Wydanie portalu 9.2.10.x — potencjalna zmiana powodująca niezgodność

Dotyczy
Dynamics CRM

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

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.