Wenn Sie entweder Source Maps oder sourceURL verwenden (beide in der HTML5 Rocks Primer auf Sourcemaps behandelt), sehen Sie in der Chrome-Konsole möglicherweise eine Warnung wie "/*@ sourceMappingURL=" source mapping URL declaration is deprecated, "/*# sourceMappingURL=" declaration should be used instead.
Worum geht es?
Impetus
Es wurde festgestellt, dass bei //@ sourceMappingURL
ein Konflikt mit IE besteht, wenn dies auf der Seite gefunden wurde, nachdem //@cc_on
interpretiert wurde, die bedingte Kompilierung in der IE-JScript-Engine zu aktivieren. Eine ältere Version von HTML5 Shiv ist hier einer der Verstöße.
Änderung der Spezifikationen
Die Syntax //@ sourceMappingURL
ist in der Sourcemap V3-Spezifikation definiert. Dort wurde sie geändert, um stattdessen die Syntax //#
zu verwenden.
sourceURL
//@ sourceURL
ist ebenfalls in der Spezifikation definiert und entspricht der //#
-Syntax aus Konsistenzgründen. Folgen Sie der Anleitung, um weitere Informationen zur Funktion von sourceURL zu erhalten. Es wird von Minispade von Ember, concatenate.js von Google und anderen verwendet. In Chrome wird sourceURL
neben ausgewertetem JS auch für Inline-Skripts und Inline-Stile unterstützt.
Implementierung in den Browser-Entwicklertools abgeschlossen!
- Safari Inspector unterstützt jetzt
//#
für „sourceMappingURL“ und „sourceURL“. - Die Änderung von Firebug wurde für „sourceURL“ angezeigt.
- In Firefox wurde die Änderung für „sourceMappingURL“ gefunden. Das „sourceURL“-Ticket findest du hier.
- Die Chrome-Entwicklertools haben die Änderung für „sourceMappingURL“ und „sourceURL“ übernommen. Außerdem wird eine Warnung ausgegeben, wenn die verworfene
//@
-Syntax verwendet wird.
Diese Änderungen führen zwar zu einem stabilen Release, Sie können aber beide Syntaxen gleichzeitig verwenden, um eine vollständige Unterstützung für Tools zu erhalten, oder je nach Ihren Anforderungen sofort zur #
-Syntax migrieren.