Chromeのブックマークレットで遊んでいて全角の空白が半角になることがわかった。
この問題について以下の通り調べた。
バグの再現手順
-
ブックマークバーを表示させる
-
ブックマークバーの右クリックからページを追加
-
以下をURLに貼る
javascript:(()=>{var a=" ";})()
変数a
の値が全角の空白になっている。 -
全角の空白が半角に変わる
Firefoxでは再現しない。
どのようにしたらChromeのブックマークレットで全角の空白を表示させられるか
-
ブックマークマネージャからブックマークレットを作る
URLに貼るとjavascript:(()=>{var a="%E3%80%80";})()
に変わる。 -
zenkaku_kuhaku=String.fromCharCode(12288)
を使う -
zenkaku_kuhaku=decodeURIComponent('%E3%80%80')
を使う
Chromeのバージョンは75.0.3770.100。
半角スペースを2つ出すときも同じ問題が発生
ブックマークバーの右クリックからページを追加でブックマークレットを追加したら、半角スペース2つが1つに変換させられた。
半角スペース2つを出すために、" " + " "
や`${" "}${" "}`
と記述する必要があった。