Safari で Bookmarklet に '%' が含まれていると動かない【Safari】
3798 ワード
はじめに
前回のブックマークレットの記事を書いている途中で、Safari で動作確認をした際に、どうも動かないなあと思ったので調べてみました。
Safari 限定です。確認した Safari のバージョンは14.1.2(15611.3.10.1.5, 15611)です。
動かない Bookmarklet
以下のブックマークレットは動きませんでした。開発ツールのコンソールでは、期待通り最初の alert();
が実行されますが、ブックマークレットにすると動きません。
javascript:(function(){alert();return;const s='a';var a='a'.replaceAll(s,'%'+'20').replaceAll('/','%'+'2F');})();
return;
が入っているので、そこまでは動いて欲しい気がしたのですが、動きません。
動くようにするには
どうも '%'
が問題になっているようで、以下のようにしたら動作しました。
javascript:(function(){alert();return;const P=String.fromCharCode(0x25);const P1=P+'20';const P2=P+'2F';const s='a';var a='a/'.replaceAll(s,P1).replaceAll('/',P2);alert(a);})();
Author And Source
この問題について(Safari で Bookmarklet に '%' が含まれていると動かない【Safari】), 我々は、より多くの情報をここで見つけました https://qiita.com/Tachy_Pochy/items/1ce782713c0eaeef38cb著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .