Die Syntax von „sourceMappingURL“ und „sourceURL“ wurde geändert.

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.

Screenshot der Sourcemapping-Entwicklertools

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.