Chrome for Androidでハードリロードを強制するにはどうすればよいですか


207

デスクトップ向けChromeでは、開発ツールを開いたときにキャッシュを完全に無効にするオプションが開発ツールにあり、再読み込みボタンを長くクリックすると(開発ツールが開いた状態で)ハードリロードを手動で実行するオプションがあります。

Chrome for Androidにそのようなテクニックはありますか?設定が見つかりませんでした。開発時にキャッシュされたファイルを使用する代わりに、ブラウザにJavaScriptまたはCSSファイルを強制的にダウンロードさせるにはどうすればよいですか?



安定したWebアプリを拡張するために戻ったところ、これが起こっていることがわかりました。最新の状態データは、キャッシュ無効化のURLサフィックスが付いた.jsファイルに保存されます。これは、Windows、ChromeOS、またはAndroid上のChromeでは機能しなくなりました。
Euan M

単純な更新(円の矢印をクリックする)により、最近の変更が検出されたようです。トリックはありません。...私が間違っているかどうか知らせてください。
ロニーロイストン

回答:


168

MDN(およびこの同様の質問)window.location.reload(true)に従って使用していますが、サーバーからページを強制的に再読み込みします。

javascript:location.reload(true)アドレスバーに入力して、ブラウザでこのコードを実行できます。


7
コードの前にを付けて、アドレスバーに入力するだけjavascript:です。
Konrad Dzwinel 2013

4
実際には、window.一部を回避できるはずです。javascript:location.reload(true)トリックを行う必要があります。
Konrad Dzwinel 2013

5
chrome v55.0.2883.91 / android5.1.1では動作しませんでした
Kev

20
私の場合、Android 7.1.1のv56.0.2924.87では機能しません。なぜリフレッシュを押して、以前のようにブラウザを再ダウンロードできるのですか?開発しようとするときのそのような煩わしさ。
スコットウィルソン

33
シークレットウィンドウを開く
Deepak Kamat

133

シークレットモードでページを表示すると、キャッシュが無効になります。これは、設定から手動でキャッシュをクリアせずにスタイルシートを強制的に更新できる唯一の方法でした。


2
@Kevどちらも私には。
リッキー・ボイス2017

1
はい、これはクロム59とのAndroid 6.0.1に私のために働いている
アビオ

4
これは、少なくともAndroid 7.1.2とChrome 61では、受け入れられた回答よりもうまく機能します。キャッシングは、どういうわけか本当に積極的です。そのドメインのキャッシュファイルを空にしても、うまくいきませんでした。
Ogier Schelvis、2017

私はそれをより頻繁に使用します。それが機能しない場合、おそらくキャッシュはブラウザーではなくサーバー上にあります。
Deepak Kamat 2017年

2
シークレットモードでのキャッシュのクリアは、初回のみです。その後、同じ問題が現れる
マラ

75

オプションもあります:

  1. メニュー
  2. 設定
  3. プライバシー
  4. 閲覧履歴データの消去
  5. 「キャッシュ」をチェックして「クリア」を押します

次にページをリロードします。


1
今、その変更にClear Browsing Dataあなたが確認することができる場所、clear cacheチェックボックスを使用して。
shaijut

1
いいえ、その後、KILL Chrome、Chromeを再起動してページを再読み込みします。ええ、悪化しました。
ADTC

4
更新: Chromeを強制終了しても機能しなくなりました。「キャッシュされた画像とファイル」オプションが何をクリアしているのか、私にはわかりません。キャッシュされたCSSファイルを保持します。これはもっとばかげています!
ADTC 2016年

1
更新: heidgertの回答を参照してください。Chromeの設定で「データセーバー」がオンになっている場合、キャッシュをクリアしても、Googleのサーバーから「キャッシュされた」結果が読み込まれる可能性があります。
ADTC 2016年

1
これにより、検査されたサイトだけでなく、すべてのサイトからキャッシュがクリアされます。
Obmerk Kronen

46

アプリメニュー(アドレスバーの右側)から[ デスクトップサイトリクエスト ]オプションを使用すると、ページを強制的に再読み込みできます。

単にそれをタップし、更新を待ってから、選択を解除します。


Chromeでの動作を確認しました。スキミング中にこの答えを見逃してしまいました。Firefoxに関するコメントを削除して、次の人を助けます。これが著者の意図と矛盾しないようにしてください。
Ishmaeel、2017

1
スタックしたcssまたはjsファイルを取得する場合、これは開発の断然最良の答えです。通常、更新は正常に機能しますが、説明できない理由でjsまたはcssファイルがスタックする場合があります。これが、ファイルをアンスティックする唯一の方法です。簡単に修正できるので、私は1つ以上の賛成票を与えることができるといいのですが、笑。
Lizardx 2017

8
これは、しばらくの間バックを仕事に使用されるが、12月2017年のようクロームの最近のバージョンではもうない
Capagris

1
これは、Samsung Android 5.1.1上のChrome 2018 65.0.3325.109で私にとってうまくいきました。SM-T900ビルド/ LMy47X。キャッシュされたデータlocalStorage値など)を破壊しないという追加の利点がありました
コードリード2018年

1
2019年4月には機能しません。Chrome73以降は機能しません。
SEは残念ながら

31

あなたが「開発するとき」に言及したので、これに言及します。

Chromeデスクトップブラウザを介してモバイルデバイスを制御できます。

chrome://inspect/#devicesデスクトップにアクセスします。そしてInspect、あなたのデスクトップに接続されているデバイス。許可を求められたら同意します。

これで、モバイルデバイスの現在のページの完全な本格的なDevtoolウィンドウが表示されます。

デスクトップでハードリロードショートカット(Cmd + Shift + R)を使用して、モバイルデバイスでハードリロードを実行してください。


3
このコメントは古くなっていますが、私は正しい軌道に乗っています。最初に、Chrome経由で実際の電話をデバッグできるようにする必要があります。
デボラ

AndroidフォンでUSBデバッグを有効にする方法の詳細については、stackoverflow.com / a / 16707217/1024735を参照してください。この機能は、ハードリロード機能だけでなく、他にも優れています。ありがとう!
kevinmicke

Androidエミュレーターでのテストには、devtoolsのCtrl + Shift + Rが本当に素晴らしく、素早くできます。設定のオン/オフなどはしないでください。ありがとうございます。
Rainer Schwarze、

21

ローカルキャッシュがフラッシュされていても、(Googleサーバーから)キャッシュデータをダウンロードしているように見えるため、[データ使用量の削減]設定がオフになっていることを確認してください。


1
この設定は単に「データセーバー」と呼ばれるようになったと思います。
Bletch、2017年

19

Android向けChromeモバイルで特定のURL /ウェブサイトのすべてのデータをリセットする方法:

1-Chromeメニューを開き、「i(情報)」アイコンをタップします

1

2-「サイト設定」をタップします

二

3-ゴミ箱アイコンをタップします

三

それだけです。そのURLの最も深く監視されたサービスワーカーでさえ死ぬことになります。


7
これ、Samsung S9 +上のChrome 73.0.3683.90 では機能しません。これを15回以上試しましたが、javascript:location.reload(true)と同じように機能しません。暗黒の支配者であるググウルによると、Androidユーザーは開発者になることはできないようです。
SEは残念ながら

私のノート8.で動作しますが、後でページを更新する必要があります。
Chris Cudmore

このメニューは、URLの左側にあるロックアイコン(または安全でない接続で表示されるもの)をクリックして取得することもできます。
Chris Cudmore

断然最高のソリューションです!<3
bArraxas

12

これは古い質問であることは知っていますが、受け入れられた回答ではうまくいかないことがわかりました。

代替ソリューションは、次のような新しいURLパラメータでURLを追加するだろうwebsite.com?a=1website.com?a=2など

もちろん、すでにパラメータがある場合は、アンパサンドを使用します。 website.com?q=test&a=1


これは機能します。ただ、?aあなたは一度だけ再ロードする場合には十分です。
Dan Dascalescu、2016

11
これは、キャッシュされた参照ファイル(CSSやJSなど)を再ロードするのにはあまり適していません?a。サイトのホストでない限り、メインのHTMLを編集して追加することはできません。
ADTC 2016年

7

2018年現在、Googleヘルプセンターから(Chrome 63でテスト済み):

  1. 3つのドットのメニューをタップします
  2. [履歴]> [閲覧データを消去]を選択します。
  3. 必要に応じて、期間(チェックリストの上)を選択します。
  4. キャッシュされた画像とファイル以外のすべてのアイテムのチェックを外します
  5. データの消去に進み、確認します。

別の回答で述べたように、シークレットタブも開発に非常に役立ちます


ステップ3:期間を選択してください。3週間前からキャッシュページをクリアしようとしていたので、これは私にとってはトリックでした。
Dror 2018

それはあなたのせいではありませんが、他のすべてのサイトの閲覧データもクリアするので、これはかなりひどい解決策です。開発作業以外にブラウザーを使用する場合、これは面倒です!
GameKyuubi

@GameKyuubi実際、過去1時間のデータを選択した場合、痛みは限られています。しかし、もちろん、このソリューションはかなり貧弱です。公式のソリューションであり、機能しているため(他のユーザーと対照的に)、それを参照しただけです。
Skippy le Grand Gourou

そういう意味で、これが公式の解決策であるというのは実に恥ずかしいことです。
GameKyuubi

7

私はうまくいく解決策を見つけましたが、それは醜いです。

  • AndroidデバイスをPCにUSBケーブルで接続し、デスクトップで Chromeを開きます
  • ページの任意の場所を右クリックし、[検査]を選択します。
  • 3ドットのメニューをクリックし、[その他のツール]メニューの[リモートデバイス]を選択します。

    ここに画像の説明を入力してください

  • 開いたパネルでデバイスを選択し、更新する必要がある電話のタブの名前の横にある[検査]ボタンを選択します。

    ここに画像の説明を入力してください

  • 開いたウィンドウで、[ネットワーク]タブをクリックし、[キャッシュを無効にする]チェックボックスをオンにします。

    ここに画像の説明を入力してください

  • 携帯電話でページをリロードするか、DevToolsウィンドウのリロードボタンを使用します。

注:スマートフォンがデバイスリストに表示されない場合:

  • USB接続がファイル転送モードを使用していて、単に充電されていないことを確認してください
  • ADBを再起動するか実行adb devicesして、デバイスが検出されているかどうかを確認します

1
素晴らしいソリューションです。これは主に、デバイスのWebページをデスクトップで直接「検査」するために機能し、キャッシュもクリアできます。ありがとう。
juanram0n

これが実際に最も美しい答えです。
ジョン

6

リモートデバッグでは、デスクトップの開発ツールを使用できます。

https://developers.google.com/chrome-developer-tools/docs/remote-debugging


これを言及している必要がありますが、時々私はそれをプラグインが、それでも、このオプションを持ってしたくない-はいおかげで、私はすでに知っていること
リースリング

2
次のようにキャッシュをクリアできます:support.google.com/chrome/answer/2392709
Swonkie

5
おかげで、すべてのサイトのキャッシュ全体をフラッシュしないオプションが良いでしょう
Riesling

これは、あなたがネットワーク>無効にキャッシュ有効、最も信頼性の高いオプションです
ルパート・ローンズリー

6

Chromeの最近のバージョンは非常に積極的にキャッシュします。「http:// url?updated = datecode」などのキャッシュ無効化手法も機能しなくなりました。キャッシュをクリアするか、シークレットウィンドウを毎回起動する必要があります(データセーバーがオフになっていることを確認してください)。


興味深いことに、私はこれを認識していませんでした。この主張を裏付ける情報源はありますか?
アントワーヌ

2
これは、私が独自のJavascriptアプリを開発しているときに観察された動作です。開発用ウェブサーバーのHTTPヘッダーでCACHE-CONTROL:NO-CACHEディレクティブを指定して、消えないバグに夢中にならないようにする必要がありました(Chromeが古いコードのキャッシュを要求していたため)。Firefoxはこの動作を表示しません。
Greg Searle 2017年

4

私が見つけた唯一の信頼できる方法は、電話をPCに接続する必要がないことです。

1. Chromeアプリを強制停止します。

これ最初に行う必要あり、これらの手順を完了するまでChromeを再び開くことはできません。強制的に停止するにはいくつかの方法があります。ほとんどのホームランチャーでは、クロムアイコンを指で押したまま[i]アイコンを選択することで、[アプリ情報]にアクセスできます。または、Androidの設定に移動して「Chrome」を検索することもできます。

[アプリ情報]で、次のように[強制停止]を選択します。


2. Chromeのキャッシュをクリアする

同じ画面から「ストレージ」を選択します。


最後に、「キャッシュをクリア」を選択します。

Chromeアプリに戻ると、ページは自動的に再読み込みされ、キャッシュされていないバージョンが提供されます。

:また、私はあなたのキャッシュをクリアした場合、テストに簡単にそれを作るサイト見つけhttps://refreshyourcache.com/en/cache-test/
私はそれと提携しない方法でだが。そのサイトで言及されているキャッシュをクリアする方法は、実際には古く、もはや有効ではないことに注意してください。


1
パーフェクト、それはUSBデバッグなしで私のために働いた唯一のソリューションです。
ルイスレマ

2

編集:このメソッドはGoogle Chromeでは廃止されており、機能しなくなります。

元の回答:

chrome:// net-internalsを使用してキャッシュ(後続のxhrを含む)をクリアすることができました

クロームネット内部

次に、右上の小さな矢印をクリックします

メニュー

そのメニューから「キャッシュをクリア」を選択します。


クローム75では、クロム://ネット内部「ネット内部のイベントビューアと関連する機能は削除されました...」と言う
BORT

@Bort頭を上げてくれてありがとう。このメソッドは機能しなくなったようです。
トム・ケイ

1

他の人が失敗したときに機能する可能性のある別の簡単なソリューションを次に示します。

今日、キャッシングの問題がキャッシュされたCSSファイルである場合、かなり単純な開発者側のソリューションが私にとってうまくいきました。つまり、一時的なhtmlファイルのコピーを作成し、それを参照してCSSキャッシュを更新します。

このトリックは、少なくともAndroidの青い地球のアイコンのデフォルトブラウザーでCSSファイルを更新できます(ただし、ツイン、公式のChromeブラウザー、および積極的なキャッシュの傾向を持つ「スマート」電話で私たちが遭遇する他のすべてのブラウザー) )。

詳細:

最初に、ここで共有されているかなり単純なソリューションのいくつかを試しましたが、成功しませんでした(たとえば、特定のサイトの最近の履歴をクリアしましたが、数か月間はクリアしていませんでした)。しかし、私の最新のCSSは、武器の更新には適用されません。そして、HTMLのヘッドセクションのCSSファイル呼び出しでバージョン番号トリックを既に使用していたとしても、過去にこれらの厄介で積極的なキャッシングを回避するのに役立ちました。(例:link rel = "stylesheet" href = "style.css?v = 001"ここで、CSSファイルに変更を加えるたびに、この疑似バージョン番号をアップグレードします(例:001、002、003、004 ...)。 (サイトのすべてのhtmlファイルで行う必要があります))

今回(2019年8月)、CSSファイルのバージョン番号の更新だけでは不十分であり、ここで説明されている簡単な方法の一部が機能しなかった、またはそれらの一部へのアクセスを見つけることができませんでした(借りたAndroid携帯電話で)。

最後に、私は比較的簡単な方法を試して、最終的に問題を解決しました。

サイトのindex.htmlファイルのコピーを作成し、別の名前(indexcopy.html)を付けてアップロードし、Androidデバイスで参照してから、元のページに戻って更新しました(更新ボタンの左側にあります)アドレスバー)、そしてほら:今回はindex.htmlの更新がようやく機能しました。

説明:問題のhtmlページを更新すると、最新のCSSファイルバージョンがAndroidに最終的に適用されるようになりました。CSSファイルのキャッシュコピーが、どこにも存在しない別の名前の一時的なhtmlページから呼び出されたときに更新されたためです。ブラウザの履歴で、後でもう一度削除できます。アグレッシブキャッシングでは、CSSファイルをキャッシュで更新する必要があるのに、CSS URLを無視し、代わりにHTML URLを使用したようです。


悲しいことに、これが現在機能しているように見える唯一のものです。これは、CSSで作業するときはいつでも、ワードプレスでfunctions.phpを更新してバージョンを更新する必要があることを意味します。はい、グーグルについてのもう一つの愚かなこと、彼らは考えずに今すぐマイクロソフトですぐそこにいます。しかし、はい、古いトリックです:)
Gavin Simpson

1

インクルードファイルの問題である場合は、パスの後にバージョンを追加するだけです(?v=12345678

<link rel="stylesheet" type="text/css" href="style.css?v=12345678" />

再度ページを読み込むと、変更が表示されます。


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