1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Safari で Bookmarklet に '%' が含まれていると動かない【Safari】

Posted at

はじめに

 前回のブックマークレットの記事を書いている途中で、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);})();
1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?