【iOS16~】Safariをスーパーリロードするショートカットの作成方法。

Safariスーパーリロード-ショートカット-iOS16_eyecatch

iPhoneのSafariをスーパーリロードする為のショートカットの作成方法です。

Safariの共有シートからこのショートカットを呼び出せば、キャッシュを無視してWebページを読み込むことができるというものです。

実は過去にも同様のスーパーリロード用ショートカットの作成は解説しているのですが、iOS16からショートカットのUIが大幅に変更されているので、こちらに新しくやり方をまとめました。

今回iPhone12で動作確認しました。iPadでも多分使えますが未確認です。

Safariをスーパーリロードするショートカットの作成

はじめに...Apple社のブラウザであるSafariには、Webサイトのキャッシュを無視してページを再読み込みする「通称:スーパーリロード」の機能はデフォルトで用意されていません。この機能をiOS16で用意する方法について書きます。

Safariをスーパーリロードする方法としては、

  1. Safariの設定からキャッシュを削除する
  2. ショートカットを使用したスーパーリロード機能を作る

の2つがありますが、後者の方法です。

前者の「Safariの設定からキャッシュを削除する方法」については過去の記事で解説しています。また、iOS15以前の環境でSafariのスーパーリロード用ショートカットを作る方法も同じく過去の記事(↓)に書いています。

Safari-スーパーリロード_eyecatch
iPhone Safariのスーパーリロード方法!キャッシュクリア、専用ショートカットの作成。

続きを見る

iOS16でショートカットの作成方法(UI)が大きく変更されましたので、この記事でiOS16~でSafariのスーパーリロードショートカットを作る方法をまとめた次第です。

では早速参りましょう・w・

iOS16でSafariのスーパーリロード用ショートカットを作成する方法

作業の前に予習がてらのポイントを書いておきます。
Safariのスーパーリロード用ショートカットを作る時は以下の点に注意して下さい。

  • 使用するアクション「WebページでJavaScriptを実行」には許可が必要。
  • ショートカットは共有シート()から呼び出す必要がある。
  • JavaScriptが受け取る値は「SafariのWebページ」にする。

ポイントは上記のような感じですが、この記事ではそれぞれに対応するために順番に作業していきます。詳しい画像付きなのでご安心を・w・

では、スーパーリロード用のショートカットを作成していきましょう。

ショートカットの新規作成

まずiPhoneに入っている「ショートカット」アプリを起動します。

ショートカット

ショートカット

Apple無料posted withアプリーチ

ショートカットアプリは初めから入っているはずなので、別途インストールする必要はありません。ない!という方はストアからインストールして下さい。

ショートカットを開いたら早速ショートカットを新規作成しましょう。
手順は以下の通りです。(画像を押せば拡大表示できます。)

  1. 「ショートカット」アプリを開き、+を押す。
  2. +アクションを追加を押す。
  3. アクション一覧から「Web」を選ぶ。
  4. Webページの項目で「WebページでJavaScriptを実行」を選ぶ。

続いてスーパーリロード用のコードをJavaScriptで書きます。

ここで、ショートカットアプリの設定で「スクリプトの実行を許可する」という項目をONにしていないとコードが書けないので、これをONにします。

サンプルのコードが表示されている方は次のステップは飛ばして下さい。

スクリプトの実行を許可する

今回使用するアクションの「WebページでJavaScriptを実行」を実行するためには、ショートカットアプリに「許可」を与えないと実行できません。

スクリプティングアクションが無効になっているため、このアクションは実行できません。

と出ている人は「設定を開く」からショートカットの設定に進み、実行許可を与えて下さい。今回は「スクリプトの実行を許可」の項目をONにするだけで大丈夫です。

  1. 「設定を開く」に進む。
  2. ショートカットの設定で「スクリプトの実行を許可」にチェックを入れる

この辺りもiOS14→iOS15で変更されています。
その時の変更点や、ONにできる各項目について気になる方は関連記事もどうぞ。

「スクリプトの実行を許可」をONにしたら再びショートカットに戻りましょう。

スーパーリロード用のコードを書きこむ

JavaScriptのコードが書けるようになったら、予め用意されているサンプルコードを全部削除します。

続いて以下のコードをコピペして下さい。

 
completion(window.location.reload(true));
Safariスーパーリロード-ショートカット-iOS16_007

7.コードを書きこむ

  1. JavaScriptを書き込んだら、完了を押してショートカットを一旦閉じる。

上記のコードを書きこんだら「完了」を押して一度ショートカットを閉じます。

コードを書きましたがこの状態ではまだ使えません。
というのも、どこかのタイミングでこのショートカットを「共有シートに表示」するように設定しないといけませんので、このタイミングでやります。

ショートカットを共有シートに表示する設定

冒頭のポイントでも書いた通り、今回のスーパーリロードショートカットはSafariの共有シート()から呼び出さないと動かないので、この設定を行います。

  1. ショートカットを長押しして出るメニューから「詳細」に進む。
  2. 「詳細」の中にある「共有シートに表示」をONにする。

このショートカットを長押ししてから「共有シートに表示」という作業内容がiOS16で一番変更されたポイントかもしれません。

項目の設定場所が変わってるんですねぇ…

作成途中のショートカットを完成させる

ショートカットの設定から「共有シートに表示する」の項目をONにしたら、一度閉じた作成途中のショートカットを完成させましょう。

Safariスーパーリロード-ショートカット-iOS16_010

10.作成途中のショートカットを編集する

  1. 先ほど閉じた作成途中のショートカットを編集する。

ショートカットを編集するには、ショートカットアプリを開きショートカット名の上にある編集ボタン()を押せばOKです。

  1. “共有シートから任意の入力を受け取る”の「任意」の部分を押す。
  2. 項目のチェックを「SafariのWebページ」のみに絞る。

共有シートに表示するように設定すれば、ショートカットの入力元が「Webページ」から「共有シート」になっているはずです。ここで「任意」という部分を押し、項目の選択画面から「SafariのWebページ」以外のチェックを全て外しましょう。

  1. “Webページに対してJavaScriptを実行”の「Webページ」の部分を押して、これを「ショートカットの入力」に変更する。
  2. “ショートカットの入力に対してJavaScriptを実行”の「ショートカットを入力」の部分を押し、内容がSafariのWebページになっている事を確認する。

これが結構ややこしいので少し補足します。

上記作業の補足

ショートカット冒頭にある値の入力の部分を、

共有シートからSafariのWebページの入力を受け取る

という形に変更しましょう。その後「Webページ」の部分を、

ショートカットの入力(中身はSafariのWebページ)に対してJavaScriptを実行

という形に変更します。ややこしいですが真似て下さい。

以上14番までの作業を行えば、Safariのスーパーリロード用ショートカットの準備完了です。最後に「完了」を押してショートカットの作成を終了しましょう。

スポンサーリンク

スーパーリロード用ショートカットの使い方

最後に今回作成したSafariのスーパーリロード用ショートカットの使い方です。

Safariスーパーリロード-ショートカット-iOS16_015

スーパーリロードは共有シートから起動する

作成したショートカットを使うには、スーパーリロードしたいWebページをSafariで開き、共有シート()を開きます。

Safariスーパーリロード-ショートカット-iOS16_016

ショートカットを実行する

すると共有シート内(一番下)に「WebページでJavaScriptを実行」という項目が出ているかと思います。これが今回作成したショートカットです。
あとはこれを押せば、Webページがスーパーリロードで読み込まれます。

初回実行時の許可について

なお、今回使用したアクションである「WebページでJavaScriptを実行」は初回実行時に許可を与える必要があります。

Safariスーパーリロード-ショートカット-iOS16_017

初回実行時はサイトごとに許可が必要

許可はサイトごとに初回だけ尋ねられます。

以前の記事にこの警告文はかなり危険では?というお問い合わせをいただきましたので、このメッセージの内容も別の記事にまとめています。

気になる方は関連記事をお読みいただきたいのですが、今回は悪意のあるJavaScriptではないので許可していただいて大丈夫です。

Safariスーパーリロード-ショートカット-iOS16_018

スーパーリロード完了!

「許可」を押せば、Webページがスーパーリロードできます!
チェックマークが出ればスーパーリロード完了です。

ショートカット名の変更について

今回は作業手順の関係で、ショートカット名が「WebページでJavaScriptを実行」という分かりにくいものになったままなので、最後に変更しておきましょう。

Safariスーパーリロード-ショートカット-iOS16_019

ショートカットの編集で名称変更が可能

ショートカット名の変更は、ショートカットの編集()から、ショートカット名のプルダウンを押したメニュー内に「名称変更」という項目があるのでコチラから変更できます。

Safariスーパーリロード-ショートカット-iOS16_020

分かりやすい名前を付けよう!

名称変更すれば、共有シートに表示されるショートカット名も変わります。
なので「Safariスーパーリロード」などの名前にしておけば、他のショートカットがあっても見分けることができて便利です。

ショートカットが共有シートに表示されない時

まれにショートカットが表示されない事があります。
もしショートカットが表示されない時はiPhoneを再起動し、共有シートに表示がONになっているか確認して下さい。

実はこの記事を執筆するにあたって、このショートカットを作成した時も共有シートに表示されなかったのですが、iPhoneを再起動することで治りました。

コチラも過去に起こった出来事で、別の記事(↓)に対処法を書いています。

過去にも同じトラブルが起こっているので、もしかしたらショートカットアプリでは割とメジャーなバグ?なのかもしれません。再起動すれば大体治りますが…。



まとめ

以上、iOS16~を搭載しているiPhoneでスーパーリロード用のショートカットを自作して、Safariをスーパーリロードする方法でした。

この方法を使えばいちいちSafariの設定からキャッシュデータを削除しなくても1発でスーパーリロードが出来ます。Web開発者の方などはCSSやJavaScriptの変更時に便利だと思います。ぜひお役立て下さい・w・

iOS14、15は1つの記事にまとめて書いたのですが、iOS16はUIが大幅変更されているので別の記事として今回執筆しました。

うちは1人でやってるので、世の中のアップデートについていけませんw
ではではこの辺で・w・

-スマホ
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku