iPhoneのショートカットでSafariの履歴をクリアにして開いていたタブをすべて閉じる

2024年2月17日

【2026年6月追記】iOS 18以降、設定アプリのURLスキームの仕様変更により、この方法はそのままでは動作しなくなっています。文末の追記を参照してください。

Safariの履歴消去画面を開く

ショートカットの「URLを開く」アクションに次のURLを設定します。

prefs:root=SAFARI&path=CLEAR_HISTORY_AND_DATA

開いているタブを閉じる

「WebページでJavaScriptを実行」アクションに次のコードを設定します。閉じられるのは現在表示中のタブのみです。

window.opener = window;
var win = window.open(location.href,"_self");
win.close();

【追記】iOS 18/iOS 26 での動作状況(2026年6月時点)

  • iOS 26(26.0〜26.5)では path 指定が機能せず、「設定 > アプリ > Safari」のページまでしか遷移しません(iOS 26.2以降は該当項目の位置までスクロールするのみ)。消去の確認画面は開かないため、最後の「履歴とWebサイトデータを消去」のタップは手動になります。
  • ショートカットには prefs:root=SAFARI(path指定なし)を設定し、Safari設定ページを開くところまでを自動化するのが現実的です。
  • iOS 17以降は「履歴とWebサイトデータを消去」の実行時に「すべてのタブを閉じる」を選択できるため、JavaScriptでタブを閉じる工程は不要になりました。
  • 以前掲載していたコードは引用符が全角(”)に変換されていたため、半角(")に修正しました。