4
5

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 1 year has passed since last update.

iOS版SafariでGreasemonkey(クライアントサイドスクリプト実行)っぽいことをする

Last updated at Posted at 2022-01-31

はじめに

iOSのショートカットでJavaScriptが実行できるのを知ってますか?
ググってみたんですがショートカットがいまいち周知されてないのもあって
あまり知られていない機能のような気がします。

ショートカットって何?という方
https://time-space.kddi.com/mobile/20191120/2783

JavaScriptが実行できるということは・・・
なんでも!
やれるということ!

つまりかつて人気だったGreasemonkey(ユーザスクリプトによる拡張機能)が
工夫次第でっぽいものが再現可能です。

Greasemonkeyって何?という方
https://ja.wikipedia.org/wiki/Greasemonkey

今回は簡単にCSSを自由に変更する例をご紹介します。
QiitaトップページのQiitaロゴを消してみましょう!

環境

  • iPhone SE2
  • iOS 15.1
  • Safari

ショートカットの作成

まずはアプリのショートカットを起動します。

IMG-3406.PNG

右上の+ボタンを押下して新規ショートカットを作成します。

ショートカット作成画面が開いたら右上の(何ボタンというんでしょう?)ボタンを
押下して「共有シートに表示」をONにします。

IMG-3409.PNG
IMG-3410.PNG

続いて「アクションを追加」を押下します。

IMG-3411.PNG

すべてのアクションから「WebページでJavaScriptを実行」を選択します。

IMG-3412.PNG
IMG-3413.PNG

追加されたアクションのJS部分を以下に書き換えます。

var result = [];
document.getElementsByClassName("st-NewHeader_start")[0].style.display = "none" ;

// completionを呼び出して終了
completion(result);

IMG-3414.PNG

completion(result)は必須なので無いとエラーになるため注意しましょう。
ショートカットは適当な名前を付けておいてください。
(例ではJSテストとしています)

ショートカットの実行

それでは作成したショートカットを実行してみましょう。
Qiitaにアクセスします。

IMG-3415.PNG

共有ボタンを押下して作成したショートカットを選択します。
これでQiitaロゴが消えるはずです!

IMG-3416.PNG
IMG-3417.PNG

無事Qiitaロゴが消えましたね。

おわりに

っぽいものはできますが、いちいち共有ボタンから実行しないといけないのがネックです。
今回は簡単なJavaScriptでしたが可能性はまだまだあるような気がしてます。
(ただ脆弱性も含んでる気もします)
もっと面白いことをやりたいのですが思いつかず。

4
5
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
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?