Skip to content

Chromeの警告 Using unescaped ‘#’ characters in a data URI body is deprecated

ふと、Chrome のコンソールを見ると、下の警告が出ていた。

[Deprecation] Using unescaped '#' characters in a data URI body is deprecated and will be removed in M67, around May 2018. Please use '%23' instead. See https://www.chromestatus.com/features/5656049583390720 for more details.

どうやら、CSS のurl を使用する際はURL エンコードする仕様となったらしい。

 

警告が出る例

select {
    background: url('data:image/svg+xml;utf8,<svg><path ...中略... /></svg>');
}

上は、<svg><path …中略… /></svg> がURL エンコードされていないので、警告が出る。

 

警告が出ない例

select {
    background: url("data:image/svg+xml;utf8,%3Csvg%3E%3Cpath ...中略... 2F%3E%3C%2Fsvg%3E");
}

URL エンコードすると警告が出なくなった。

警告のメッセージではハッシュ# のみ言及しているが、他の記号も含めてエンコードしないとダメだった。

 

URL エンコードは、Chrome のdeveloper tool のコンソールでやると早い。

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です