16

サファリに推奨されるすべてのリンクとメタタグを使用して webapp を作成しました。

<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<link rel="apple-touch-startup-image" href="/startup.png" />
<link rel="apple-touch-icon" href="/apple-touch-icon.png" /> 
<link rel="apple-touch-icon" sizes="72x72" href="/apple-touch-icon-ipad.png" /> 
<link rel="apple-touch-icon" sizes="114x114" href="/apple-touch-icon-iphone4.png" />

ただし、私の問題は、startup.png またはいずれかの apple-touch-icon イメージ ファイルが Web サーバー上で更新された場合、ユーザーの iPhone または iPod が、更新されたファイルをユーザーのホーム画面(何らかの形でキャッシュされていると思います)。ホーム画面から webapp を削除して再度追加すると機能します。しかし、ユーザーが画像を削除して再度追加する必要なく、これらの画像を更新する必要があることをアプリケーションに知らせる方法はありますか?

4

6 に答える 6

22

この質問が出されてから数年が経ちましたが、これが可能になったことを報告するためにここにいます!

iOS の新しいイテレーションでは、ホーム画面に表示される Apple Touch アイコンは、Web サイトの他のコンテンツと同様にキャッシュされます。画像の名前を変更するだけで、次にショートカットが起動されたときに、ホーム画面のショートカットのアイコンが強制的に更新されます。

ただし、Apple の命名規則に準拠するために、アイコンを再ダウンロードして引き続き image を呼び出したいときはいつでも、参照に URL 変数を追加するだけで済みますapple-touch-icon.png

この問題を (PHP で) 自動化するために私が行ったことは、最終更新日時を画像に追加することです。例えば:

<link rel="apple-touch-icon" href="apple-touch-icon.png?m=<?php echo filemtime('apple-touch-icon.png'); ?>" />

これは以下を出力します:

<link rel="apple-touch-icon" href="apple-touch-icon.png?m=1415832495" />

これで、何もする必要はありませんが、文字通りイメージを上書きするだけで、他のすべてが自動的に行われます。画像を変更すると、変更された時間が変更され、ユーザーがキャッシュに持っているものと一致しなくなるため、新しいダウンロードが強制されます。単純!


OLD ANSWER:私はこれについて多くの調査を行い、方法を見つけようとしました。残念ながら、それは不可能です。新しいアイコンを使用するには、削除してホーム画面に再度追加する必要があります。

于 2011-01-03T20:09:51.823 に答える
2

I just tested a theory on the Iphone 5 and Ipad 2, and it worked for both. Similar to the favicon, you can force the new favicon to pull by changing the href. Instead of href="/apple-touch-icon.png" I used href="/apple-touch-icon.png?ver=1.1" and it pulled the new icon when the site was visited (without deleting and re-adding to home screen).

于 2014-10-28T14:01:03.010 に答える
0

私のwebapp内でstartup.pngファイルを新しいものに変更しただけで、ホーム画面から初めてアプリをリロードすると、古い画像が表示されます。アプリを閉じて再度開くと、新しい startup.png イメージが表示されます。iOS 4.2.1。ちなみに、アイコンも同様です。

于 2012-03-06T00:48:25.183 に答える
0

アイコンが更新されるのを見てきましたが、この更新に何らかの影響を与える可能性はないと思います。電話の再起動後にアイコンが更新されたことに気付きましたが、決定的なことを言うには十分に調べていません.

于 2011-04-23T16:45:35.433 に答える
-1

ウェブページ/ウェブアプリを削除してホームスクリーンに再度追加するだけでは不十分な場合があります。しようとしただけ

  1. ホーム画面からブックマークを削除する
  2. サファリでページをリロードする
  3. ホーム画面にブックマークを追加する

==>どこかにキャッシュされているように見える古いアイコンがまだ表示されています:(

于 2011-08-13T12:40:48.500 に答える