मेरे पास एक पृष्ठ है जहां एक बार बटन क्लिक किया जाता है, इसे अजाक्स स्पिनर द्वारा प्रतिस्थापित किया जाता है जबकि उपयोगकर्ता अगले पृष्ठ को लोड करने की प्रतीक्षा करता है।सफारी माउस या कीबोर्ड के साथ वापस हिट करते समय कैश सेटिंग्स को अनदेखा कर रहा है
मैं .htaccess का उपयोग कर कैशिंग को नियंत्रित कर रहा हूं (या नियंत्रित करने का प्रयास कर रहा हूं)। यदि उपयोगकर्ता वापस हिट करता है (ब्राउज़र बटन, माउस बटन, alt + left, backspace) इसे कैश से पृष्ठ को फिर से लोड करने की आवश्यकता होती है। आईईएस 6-8 और क्रोम इसके साथ ठीक थे। फ़ायरफ़ॉक्स थोड़ी देर के लिए काम नहीं कर रहा था और हाल ही में काम करना शुरू कर दिया था, लेकिन समस्या सफारी में बनी हुई है। यह थोड़ा अजीब लगता है, क्योंकि मुझे उम्मीद है कि सफारी और क्रोम उसी तरह से व्यवहार करेंगे।
यह मेरा .htaccess फाइल है:
# Add Proper MIME-Type for Favicon
AddType image/x-icon .ico
<IfModule mod_expires.c>
ExpiresActive On
# ExpiresDefault A2630000
ExpiresByType image/x-icon A2630000
ExpiresByType image/gif A2630000
ExpiresByType image/jpeg A2630000
ExpiresByType image/png A2630000
ExpiresByType application/x-javascript M2630000
ExpiresByType application/javascript M2630000
ExpiresByType text/css M2630000
</IfModule>
<IfModule mod_headers.c>
Header set Cache-Control "public"
<FilesMatch "\.php$">
Header set Cache-Control "no-store, no-cache, must-revalidate, max-age=0, post-check=0, pre-check=0"
</FilesMatch>
</IfModule>
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/javascript
मैं के साथ और कैश-नियंत्रण सार्वजनिक लाइन के बिना यह कोशिश की है।
AddType application/x-httpd-php .php
साथ:
ExpiresByType application/x-httpd-php A0
कोई लाभ उठाने के लिए
मैं भी जोड़ने की कोशिश की है।
क्या मुझे कुछ याद आ रही है?
संपादित करें: मुझे नहीं लगता कि यह कैश सेटिंग्स के साथ कुछ भी करना है।
मैं PHP खुद को यह जोड़ने की कोशिश की है:
#safari test
if (strstr($_SERVER['HTTP_USER_AGENT'],'Safari')){
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Date in the past
}
और यहां तक कि उन पंक्तियों मैं में देखते हैं "का निरीक्षण तत्व" कर सकते हैं> संसाधन है कि सही शीर्षलेख प्राप्त किया जा रहा है बिना। ऐसा लगता है कि सफारी उनके साथ "सबसे तेज़ ब्राउज़र" बनने के लिए क्या कर रही है। ऐसा लगता है कि यह साइट डेवलपर्स की विशिष्टता को स्पष्ट रूप से अनदेखा करता है - यह उस दिन से आईई की मूल मानसिकता की तरह लगता है जब लेआउट के लिए उपयोग की जाने वाली टेबल।
सफारी कैशिंग के मामले में क्रोम के रूप में एक ही तरह से कार्य नहीं होता। वे दोनों एक ही प्रतिपादन इंजन (वेबकिट) का उपयोग करते हैं, इसलिए उन्हें पृष्ठों को प्रदर्शित करना, स्क्रिप्ट चलाने आदि को बिल्कुल वही करना चाहिए, लेकिन कैशिंग और सामान जैसे कि वेबकिट द्वारा नहीं किया जाता है और सफारी और क्रोम द्वारा अलग-अलग संभाला जा सकता है। – qmega