iOSで実行されているSafariでキャッシュを強制的に更新できますか?


56

ほとんどのWindowsデスクトップブラウザーは、キーボードの組み合わせCtrl+ F5を使用して、ページ固有のキャッシュ更新を強制します。Mac OS Xベースのブラウザは、Command+ を使用する傾向がありますR。iOSで実行されているSafariの単一ページに同等のキャッシュ更新がありますか?

ブラウザーのキャッシュを手動でクリアできることはわかっていますが、現在表示しているページのみを更新することをお勧めします。


これはあなたが考えていることですか?apple.stackexchange.com/questions/73153/...
bassplayer7

@ bassplayer7は近いですが、まったく同じではありません。Command + Rは、対象の特定のページのリソースのみを更新します。また、CDNから外部にリンクされたJavaScriptも更新されることを意味します。これは、参照されないリソースを除外します。これはデスクトップブラウザに提供される非常にきめ細かいコントロールであり、Web開発に非常に便利です。
ahsteele

理にかなっています。Web開発者として、それがいかに便利かという点を理解しています。私はあなたがすでにしていることを前提としていますが、私はそれを言及せずにはいられません-私はモバイル作業のためにアドビのこのアプリを使用しています。そして、Safariを再起動するのは-面倒なことですが-少なくともボタンよりも更新が必要だと思います。ただし、それが何を更新しているかを正確に知るのに十分ではありません。
bassplayer7

アドレスバーの更新ボタンを押しても、キャッシュされたコンテンツは更新されませんか?
ジェリー

回答:


36

iOS 8では、強制終了は確実に機能しませんでした。テストにはプライベートモードを使用しました。

  1. ページをプライベートモードで開きます(後で開くことができるようにブックマークします)。
  2. 更新する必要がある場合は、ブラウザの「タブ」を閉じます(Safariおよびプライベートモードのままにすることができます)。
  3. ページをもう一度開きます(手順1で作成したブックマークを使用します)。

1
素晴らしい解決策ではありませんが、iOSが提供する最高のソリューションのようです。
ブレンダン

2
「プライベートモード」にするにはどうすればよいですか?
linuxdan

Mobile Safariの場合:2つの四角形のアイコンをタップします。開いているすべてのタブが表示され、左下に[プライベート]モードボタンが表示されます。support.apple.com/en-gb/HT203036
マットセフトン

iOS 13.1.3の時点では、これはもう機能しません。
ティンボ

11

電話をAppleコンピューター/ラップトップに接続していて、Safari開発者ツールを開いた状態(およびアクティブウィンドウ)で次のキーを押すことができます。

Command Key + Option + R


お使いの携帯電話でBluetoothキーボードを使用している場合にも、これが機能すると確信しています。
rinogo

@rinogo負。私はiPad Proでアップルマジックキーボードを使用し、「cmd + shift + r」はサファリブラウザーで何もしません。
ダニエルソン317

7

Safariを強制終了する(ホームボタンをクリックしてからホームボタンをダブルクリックし、マルチタスクバーのSafariアイコンを押したままにして、赤い点をタップする)と、Safariはキャッシュをクリアするようです。ただし、これにより、1ページだけでなく、キャッシュ全体がクリアされます。

設定アプリでSafariのCookieとデータを消去することもできます。[詳細設定]で、個々のWebサイトからデータを消去できます。これは、フラッシュするWebページに関連付けられているすべてのサイトを知っている場合に機能します。


1
これは私には機能しません(iOs 7.0.4)。
ナビルカディミ14

3
iOS 7では、最近/マルチタスクリストからアプリを上に投げて強制終了します。
hotpaw2 14

1
iOSのここ7.1、私はSafariのリモート開発ツールを経由してチェックし、資源が実際に強制終了するアプリ(タイムライン>ネットワーク要求を)した後にキャッシュされていないようだ
fregante

5

デバイスをケーブルでコンピューターに接続し、Safari開発者モードを有効にすることで、ファイルのキャッシュを強制的に停止できます。

  • モバイルデバイスでWebインスペクターを有効にします。
    [設定]> [Safari]> [詳細設定]> [Webインスペクター]
  • macOS上のSafariで開発ツールを有効にする:
    Safari> [設定]> [詳細設定]タブ> [開発をメニューバーに表示]
  • デバイスをコンピューターに接続します
  • コンピューターのSafariからデバイスの開発ツールパネルを開きます。
    開発>サンプルのiPhone> example.com/page
  • キャッシュを無効にするには、[ネットワーク]タブに移動し、[キャッシュなし]の小さなアイコンが青であることを確認します(バツ印のある円柱のように見えます)。
  • これで、iOSデバイスでいつでも更新をヒットできるようになり、キャッシュされていない最新バージョンが得られます!

あなたがウェブ開発者なら、これは非常に便利なフル開発ツールパネルにアクセスできるので、これを行う理想的な方法です。また、キャッシュを1回クリアするだけでなく、常に最新バージョンを取得する必要がある場合は、迷惑なプロセスを繰り返し続ける必要はありません。

キャッシュをクリアしようとしている一般ユーザーの場合は、ここで他の方法のいずれかを使用できます。


更新:WiFi経由でデバイスに接続できるようになりました。ケーブルを使用した初期設定が必要な場合がありますが、その後はケーブルなしで確実に接続できます。
開発>サンプルのiPhone>ネットワーク経由で接続


1

行くことによって、単一のサイトのキャッシュされたデータを削除して[設定] > [ サファリ > アドバンス > ウェブサイトデータ > すべて表示サイト

画面の右下にある[ 編集]をタップし、リストをスクロールするか、検索フィールドで検索して、クリアするウェブサイトを見つけます)。サイトアドレスの横にある赤い-アイコンをタップし、表示される[削除]ボタンをタップします。

Safariに戻ってページをリロードすると、サイトのすべてのアーティファクトがリロードされます。


これは機能しませんでした。iPad(iOS 12)でアイテムをクリックできません。
cheesus SOはモニカへの害を

0

Safariで開発者モードを有効にします。その後、次の組み合わせを使用してキャッシュをクリアできます。

Option-Key + Command-Mac-Key + E 

これは、その時点であなたがいるサイトのキャッシュのみをドロップすると思います。


残念ながら、指示はデスクトップバージョンのSafariにのみ適用されます。問題はiOSバージョンに関するものでした。
calum_b

-1

更新ボタンをダブルタップします。


7
これは誰でも動作しますか?ダブルタップすると、最初のタップで開始した更新が停止します。
ブレンダン

はい、これは実際に私のために働いた唯一のものでした。これがお尻でサファリを蹴るだけかどうかはわかりませんが、うまくいきます。
ベンラビドゥー

-3

乱数をスクリプトに追加したり、srcを次のようにリンクしたりできます。

<link rel="stylesheet" href="css/main.css?rand=<?=$rand;?>" type="text/css" /> <script type="text/javascript" src="js/main.js?rand=<?=$rand;?>"></script>

これにより、Safariはファイルを強制的にリロードし、別のファイルであると見なします。


4
これはユーザー側からどのように機能しますか?
nohillside

1
上部のURLにランダムパラメーターを...?rand=15
追加し

これは「キャッシュ無効化」と呼ばれ、ブラウザが認識したときにURL文字列が一意になります。したがって、キャッシュ内でそのURLを見つけることはありません。(そして、ホスト側は単にGET-parameterを完全に無視します。)しかし、これはOPが求めているものと実際には同じものではありません。
マイクロビンソン

@AaronDigullaこれは、CSSファイルや画像などのリンクされたリソースでは機能しません。
Flimm

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.