Jeśli używasz map źródłowych lub źródłaURL (oba te tematy omówiliśmy w wprowadzeniu do map źródłowych), w konsoli Chrome może się wyświetlić ostrzeżenie podobne do tego: "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.
Oto o co chodzi:
Impetus
//@ sourceMappingURL
został znaleziony i powoduje konflikt z IE, gdy występuje na stronie po tym, jak //@cc_on
został zinterpretowany jako polecenie włączające kompilację warunkową w mechanizmie JScript w IE. Stara wersja Shiv HTML5 jest w tym przypadku szczególnie problematyczna.
Zmiana specyfikacji
Składnia //@ sourceMappingURL
jest zdefiniowana w specyfikacji Sourcemap V3. Zmieniono ją tak, aby używała składni //#
.
sourceURL
Element //@ sourceURL
jest też zdefiniowany w specyfikacji i został utworzony w celu dopasowania do składni //#
w celu zapewnienia spójności. Aby dowiedzieć się więcej o tym, co robi parametr sourceURL, przeczytaj ten artykuł. Jest on używany przez minispade z Ember, concatenate.js z Google i inne. W Chrome sourceURL
jest obsługiwany w przypadku skryptów i stylów w kodzie strony, a także w przypadku ocenionego kodu JS.
Implementacja w Narzędziach deweloperskich w przeglądarce = gotowe.
- Safari Inspector obsługuje teraz
//#
w przypadku sourceMappingURL i sourceURL. - Zmiana Firebuga została opublikowana w przypadku źródłaURL.
- Firefox wprowadził zmiany w źródłoMappingURL. Bilet sourceURL
- Narzędzia deweloperskie w Chrome wprowadziły zmianę dotyczącą parametrów sourceMappingURL i sourceURL. Użytkownik zobaczy też ostrzeżenie o używaniu wycofanej składni
//@
.
Do czasu wprowadzenia stabilnej wersji tych zmian możesz używać obu składni jednocześnie, aby zapewnić pełną obsługę narzędzi, lub od razu przejść na składnię #
, w zależności od potrzeb.