2011-01-03 14 views
11

मैंने सफारी के लिए सभी अनुशंसित लिंक और मेटा टैग का उपयोग करके एक वेबपैप बनाया है, उदाहरण के लिए।क्या वेबपैप होम स्क्रीन पर जोड़े जाने के बाद सेब-टच-आइकन अपडेट करने के लिए आईफोन/आईपॉड को मजबूर करना संभव है?

<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 या सेब के स्पर्श आइकन छवि फ़ाइलों को वेबसर्वर पर अपडेट किया जाता है के किसी भी, यह एक उपयोगकर्ता के iPhone की तरह प्रतीत नहीं होता है या आइपॉड अपडेट की गई फ़ाइल पुनर्प्राप्त होगा एक बार इसे अपनी होम स्क्रीन पर सहेजा गया है (मुझे लगता है कि यह किसी भी तरह या कुछ कैश किया गया है)। यह होम स्क्रीन से वेबपैप को हटाने और इसे फिर से जोड़ने के लिए काम करता है। लेकिन क्या एप्लिकेशन को यह जानने का कोई तरीका है कि इसे इन छवियों को रीफ्रेश करने की आवश्यकता के बिना उपयोगकर्ता को हटाने और इसे फिर से जोड़ने की आवश्यकता है?

उत्तर

13

इस प्रश्न से पूछा गया/उत्तर दिया गया है और मैं यह रिपोर्ट करने के लिए यहां हूं कि यह अब संभव है!

आईओएस के नए पुनरावृत्तियों में, होमस्क्रीन पर प्रदर्शित होने वाले ऐप्पल टच आइकन को वेबसाइट से सामग्री के किसी अन्य भाग की तरह कैश किया जाता है। छवि के नाम को बस बदलकर, शॉर्टकट लॉन्च होने पर अगली बार आइकन रीफ्रेश करने के लिए होमस्क्रीन शॉर्टकट को मजबूर कर दिया जाएगा।

हालांकि, ऐप्पल के नामकरण सम्मेलनों के अनुरूप होने के लिए, जब भी आप आइकन को फिर से लोड करना चाहते हैं तो संदर्भ में 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" /> 

अब, आप कुछ भी करने को लेकिन सचमुच छवि के ऊपर लिख और बाकी सब कुछ अपने आप हो जाएगा नहीं है। जब आप छवि को बदलते हैं, तो संशोधित समय बदलता है और उपयोगकर्ता के कैश में अब क्या मेल नहीं खाता है, इसलिए यह एक नए डाउनलोड को मजबूर करता है। सरल!


पुराने उत्तर: मैं इस के लिए एक रास्ता खोजने की कोशिश में अनुसंधान के एक टन किया है। दुर्भाग्य से, यह संभव नहीं है। नए आइकन के इस्तेमाल के लिए इसे हटाया जाना चाहिए और होम स्क्रीन पर फिर से जोड़ा जाना चाहिए।

+0

ऐसा करने के लिए एक निजी एपीआई है, लेकिन मुझे नहीं लगता कि हमें इसका उपयोग करने की अनुमति है। यदि आप देखते हैं कि कैलेंडर ऐप में तिथि बदलने के लिए हर रोज अपडेट किया गया आइकन है। –

+0

किसी ऐप के भीतर, ऐसा करने का एक तरीका हो सकता है। हालांकि, मूल पोस्टर यह पूछ रहा है कि यदि आप किसी वेबसाइट से होमस्क्रीन पर बुकमार्क करते हैं, तो आइकन को बदलना संभव है या नहीं। –

+0

मैं जवाब के रूप में अनिच्छुक रूप से 'संभव नहीं' स्वीकार करूंगा। – TKTS

0

मैंने देखा है कि आइकन अपडेट हो गए हैं, लेकिन मुझे नहीं लगता कि इस अद्यतन को किसी भी तरह से प्रभावित करना संभव है। फोन को रीबूट करने के बाद मैंने अपडेट किए गए आइकन देखे हैं, लेकिन मैंने कुछ भी निर्णायक कहने के लिए पर्याप्त रूप से नहीं देखा है।

0

होमस्क्रीन पर वेबपृष्ठ/वेबैप को हटाने और फिर से जोड़ने से भी पर्याप्त नहीं हो सकता है। मैं सिर्फ

  1. करने की कोशिश की होमस्क्रीन
  2. से बुकमार्क को हटाने सफारी
  3. में पृष्ठ पुनः लोड होमस्क्रीन पर

==> यह अभी भी पुराने आइकन यह लगता है पता चलता बुकमार्क जोड़ने कहीं कैश किया गया है :(

+0

यह मेरे आईफोन 5 पर काम करता है यदि आप पहले होमस्क्रीन पर बुकमार्क करने के लिए बटन टैप करते हैं, फिर रद्द करें, फिर पेज को फिर से लोड करें, फिर होमस्क्रीन पर बुकमार्क करने के लिए बटन को टैप करें - अब आपको अपडेट की गई छवि –

0

मेरे वेबपैप के भीतर यदि मैं सिर्फ एक नए के साथ startup.png फ़ाइल को बदलता हूं, पहली बार होम स्क्रीन से ऐप को फिर से लोड करने से यह ओल दिखाता है डी छवि। ऐप को बंद करना और फिर से खोलना नई startup.png छवि दिखाता है। आईओएस 4.2.1। वैसे, आइकन के लिए एक ही एप्लीज़।

2

मैंने अभी आईफोन 5 और आईपैड 2 पर एक सिद्धांत का परीक्षण किया, और यह दोनों के लिए काम किया। फेविकॉन की तरह, आप href को बदलकर खींचने के लिए नए फेविकॉन को मजबूर कर सकते हैं। href="/apple-touch-icon.png" के बजाय मैंने href="/apple-touch-icon.png?ver=1.1" का उपयोग किया और साइट पर जाने पर नया आइकन खींचा (होम स्क्रीन पर हटाने और फिर से जोड़ने के बिना)।

+0

समस्या को हल करना चाहिए और सेब-टच-स्टार्टअप-छवि के लिए भी काम करता है जिसमें सेब-टच-आइकन के समान समस्याएं भी होती हैं। (आईओएस 8 में पुष्टि) – Jay