سؤال

لدي تطبيق بحث يعمل محليا باستخدام Tomcat الخاص به، وقد غيرت للتو Favicon for جديد. المشكلة هي أنني لا أستطيع رؤيته في أي متصفح. يظهر Favicon القديم أو لا أحصل على Favicon على الإطلاق، ولكن ليس من جديد. لا أعتقد أن هذه هي قضية جروج في حد ذاتها، أكثر مشكلة مع Favicons.

ما يفترض أن يحدث مع فافكونز؟ كيف من المفترض أن يعملوا؟ لدي العديد من الإشارات المرجعية في متصفحي التي لها أيقونات خاطئة ويبدو أنها لا تظهر أبدا. كيف أجبر الخادم / المتصفح على التوقف عن التخزين المؤقت لهم؟ يبدو دائما سخيفا دائما ذاكرة التخزين المؤقت لها أن تكون عادة 16 × 16 فقط. لماذا لا مجرد تحميلها مع كل زيارة إلى الصفحة؟ انها ليست بالضبط النماذج الضخمة.

هل كانت مفيدة؟

المحلول

لتحديث Favicon موقعك، يمكنك إجبار المتصفحات على تنزيل إصدار جديد باستخدام علامة الرابط والاستعلام على اسم الملف الخاص بك. هذا مفيد بشكل خاص في بيئات الإنتاج للتأكد من الحصول على تحديث المستخدمين.

<link rel="icon" href="http://www.yoursite.com/favicon.ico?v=2" />

نصائح أخرى

حسنا، بعد 10 دقائق من WTF'ing، الطريقة السهلة لإصلاحها قريب من

  1. اكتب www.yoursite.com/favicon.ico (أو www.yoursite.com/apple-touch-icon.png، إلخ)
  2. يدفع أدخل
  3. كنترول+F5.
  4. إعادة تشغيل المتصفح (أي فايرفوكس)

لم يتم تقديم هذه الإجابة حتى الآن حتى اعتقدت أنني سأنشرها. نظرت في جميع أنحاء الويب، ولم أجد إجابة جيدة لاختبار Favicons في التطوير المحلي.

في الإصدار الحالي من Chrome (على OSX) إذا قمت بذلك، ستحصل على تحديث فوري فوري:

  1. تحوم فوق علامة التبويب
  2. انقر على اليمين
  3. حدد تحديث
  4. يجب الآن تحديث Favicon الخاص بك

هذه هي أسهل طريقة وجدت لتحديث فافيسون محليا.

إعادة تسمية ملف Favicon وإضافة رأس HTML مع الاسم الجديد، مثل:

<link rel="SHORTCUT ICON" href="http://www.yoursite.com/favicon2.ico" />

إذا كنت تستخدم PHP، فيمكنك أيضا استخدام MD5-Hash من Favicon كسلسلة استعلام:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo md5_file('favicon.ico') ?>" />

وبهذه الطريقة ستتحدث Favicon دائما عندما تم تغييرها.

كما هو مذكور في التعليقات، يمكنك أيضا استخدام تاريخ آخر تعديل بدلا من MD5-Hash لتحقيق نفس الشيء وحفظ بعض الشيء على أداء الخادم:

<link rel="shortcut icon" href="favicon.ico?v=<?php echo filemtime('favicon.ico') ?>" />

عن طريق تدمير الملفات التي يستخدمها المتصفح الخاص بك لتخزين Favicons القديم، يمكنك إجبار جديدة على تحميلها.

  1. أغلق المتصفح الخاص بك. تأكد من عدم وجود عمليات متصفح قيد التشغيل (مثل التحقق من إدارة المهام ل chrome.exe أو firefox.exe).
  2. انتقل إلى حيث يخزن المستعرض ملفات المستخدم:
  3. حذف ذاكرة التخزين المؤقت FAVICON.
    • لكروم، إزالة Favicons و Favicons-journal
    • ل فايرفوكس، إزالة favicons.sqlite

هذا سوف يعمل بالتأكيد تقريبا. ان لم:

  • الاحتمال 1: لقد تغير التحديث إلى المستعرض الخاص بك كيف يعمل ذاكرة التخزين المؤقت Favicon. يرجى تحرير هذه الإجابة بتعليمات جديدة.
  • الاحتمال 2: مشكلة Favicon الخاصة بك لا علاقة لها بالتخزين المؤقت عن التدخين. قد تكون بدلا من ذلك مشكلة تحميل الموارد - باستخدام أدوات المطور، تأكد من تنزيل Favicon الجديد بشكل صحيح.

في Chrome on Mac OS X One يمكنه إزالة الملف مع ذاكرة التخزين المؤقت FAVICON

${user.home}/Library/Application Support/Google/Chrome/Default/Favicons 

حسنا، النفقات العامة هو النفقات العامة، ولكن نعم، ليست كبيرة جدا.

أيضا، المتصفحات في بعض الأحيان "الجشع" حول الملفات المخزنة مؤقتا. يمكنك مسح ذاكرة التخزين المؤقت و / أو إعادة تشغيل المتصفح الخاص بك وقد ترى التغيير. إذا فشل ذلك ...

حل الرخيص الخاص بي هو:

  1. زيارة الملف الخاص بك في http://example.com/favicon.ico. في المتصفح الخاص بك.
  2. حذف Favicon.ico من Webroot.
  3. يزور http://example.com/favicon.ico. مرة أخرى في متصفح، تحقق من أنه مفقود.
  4. تحميل واحد جديد إلى Webroot الخاص بك.
  5. يزور http://example.com/favicon.ico. مرة أخرى في متصفح، تحقق من ذلك الجديد.

إذا كان هذا التسلسل لا يعمل، فسيذهب شيء آخر.

اعتمادا على المتصفح الذي يتم التعامل معه بطريقة مختلفة، ولكن عادة ما أجد أن الذهاب إلى الصفحة الافتراضية للموقع، والقيام بتحديث صلب. كنترول + F5., ، سوف تحصل عليه عادة لتحديث.

على ماك: + يحول-رديئة أو اضغط باستمرار كنترول وانقر فوق الزر "تحديث" في المتصفح.

بالنسبة إلى Internet Explorer، هناك حل آخر:

  1. افتح Internet Explorer.
  2. انقر فوق قائمة> أدوات> خيارات الإنترنت.
  3. انقر فوق عام> ملفات الإنترنت المؤقتة> زر "الإعدادات".
  4. انقر فوق الزر "عرض الملفات".
  5. ابحث عن ملف Favicon.ico القديم وحذفه.
  6. إعادة تشغيل المتصفح (Internet Explorer).

أكثر من المرجح مشكلة متصفح الويب. سيكون عليك حذف ذاكرة التخزين المؤقت الخاصة بك من متصفحك، وإغلاق المتصفح وإعادة فتحه. يجب أن إصلاحه.

لا أعتقد أن Favicons الخاص بك ستحطب على المفضلة لديك حتى تقوم بإعادة النظر في هذه الصفحة، وافتراض أنك قد قمت مسبقا بإزالة ذاكرة التخزين المؤقت للمتصفحات الخاصة بك.

لن يخرج متصفح الويب الخاص بك إلى الإنترنت للتحقق من فافيسون جديد بمفرده ... أشكر الخير.

حاول فتح في علامة تبويب جديدة

حاولت العديد من الأشياء أعلاه (إعادة تعيين ذاكرة التخزين المؤقت، منعش، باستخدام علامة الرابط، إلخ)، حتى الآن .htaccess ملف وإعادة تعيين متغير expiresbytype.

ولكن هذا هو ما عمل أخيرا بالنسبة لي في كل من الكروم (25.0.x) وسافاري (6.0.1):

  1. مسح ذاكرة التخزين المؤقت
  2. من الصعب ربط فافيسون مع <link> بطاقة شعار
  3. التنقل إلى mysite.com/favicon.ico
  4. افتتاح mysite.com في علامة تبويب جديدة

(حتى الخطوة 3، أبقى منعش في علامة التبويب نفسها إعادة إنتاج الرمز القديم.)

بالنسبة للكروم على MacOS، إذا كنت لا ترغب في حذف قاعدة بيانات Chrome Favicon بأكملها كما هو مقترح بالفعل هنا، يمكنك حذف الرموز المتعارضة فقط:

  1. إنهاء الكروم
  2. قم بتحميل قاعدة بيانات Favicons (باستخدام sqlite هنا):

sqlite3 ~/Library/Application\ Support/Google/Chrome/Default/Favicons

  1. ابحث عن الملف الذي يسبب المشكلات

select * from favicons where url = 'http://mysite.dev/favicon.ico';

  1. إذا كنت سعيدا بالإخراج:

delete from favicons where url = 'http://mysite.dev/favicon.ico';


بدلا من ذلك, ، يمكنك البحث عن نمط يمكنك إعادة استخدامه لحذف إدخالات متعددة:


  1. بحث عن ملفات متعددة التي تسبب القضايا

select * from favicons where url like 'http://mysite.dev%';

  1. ومرة أخرى إذا كنت راضيا عن هذا العائدات:

delete from favicons where url like 'http://mysite.dev%';


  1. اكتب .exit وضرب العودة إلى استقال sqlite
  2. إعادة تشغيل الكروم

عند طلب Favicon من Google، يمكنك إلقاء نظرة على رؤوس الاستجابة.

Last-Modified: Fri, 09 Jan 2009 16:35:02 GMT
Date: Thu, 01 Dec 2010 00:00:01 GMT
Expires: Fri, 01 Dec 2011 00:00:01 GMT
Cache-Control: public, max-age=31536000
Age: 7

إذا قمت بوضع "انتهاء الصلاحية:" على الرد، فإن متصفحات العملاء ستعيدون طلب الأيقونة بعد ذلك الطابع الزمني. أثناء القيام بالتطوير النشط، يمكنك ضبط الطابع الزمني انتهاء الصلاحية إلى ثاني أو اثنين في المستقبل، ويحظى دائما بإحضار هذا، على الرغم من أن هذه خطة فقيرة لفترة طويلة.

دعم Favicon في Chrome هو BWGGY - تجاهل هذه الإجابة

كتبت هذه الإجابة بموجب الانطباع بأن هذا هو ما استغرق الأمر لتحديث Favicons في Google Chrome. ومع ذلك، اتضح أن هذا يعمل فقط في الدقائق الخمس الأولى أو نحو ذلك، حتى يحصل الرمز فقدت لا رجعة فيه في مزامنة تاريخ الكروم.

الإجابة الأصلية

ليس لديك لمسح ذاكرة التخزين المؤقت الخاصة بك، وإعادة تشغيل المتصفح الخاص بك، أو أعد كتابة HTML - تحتاج فقط إلى تغيير عنوان URL الخاص بالأيقونة، بمجرد, ، بحيث نسين المتصفح الرمز المخزن مؤقتا سابقا.

على افتراض أنك تعرف الرمز الخاص بك عبر <link> عناصر في صفحتك <head>, ، يمكنك القيام بذلك عن طريق تشغيل هذا معيار JS واحد بطانة في وحدة التحكم:

[].slice.call(document.querySelectorAll('head>link[rel$="icon"]')).map(function(ln){ln.href+='?v=2'});

لتنفيذ أكثر تقدما لهذا يمكن القيام بذلك تلقائيا للمستخدمين النهائيين في الإنتاج، انظر freshicon.js..

لقد استعادت مؤخرا الإشارات المرجعية الخاصة بي وكانت تبحث عن وسيلة لاستعادة Favicons دون زيارة كل صفحة. أحضرني بحثي هذا الموضوع.

بالنسبة لأولئك الذين في ظروف مماثلة فقط قم بتنزيل Addon Favicon Roome Roome. بمجرد تثبيت الأمر ستجد الأمر "إعادة تحميل الرموز المفضلة" في القائمة المنسدلة للإشارات المرجعية.

https://addons.mozilla.org/en-us/firefox/addon/faviconreloader/؟src=api.

إذا كنت تستخدم PHP .. ثم يمكنك أيضا استخدام هذا السطر.

<link rel="shortcut icon" href="http://www.yoursite.com/favicon.ico?v=<?php echo time() ?>" />

سيقوم بتحديث Favicon الخاص بك في كل عبء الصفحة.

نسخة كروم: 68.0.3440.106

مجرد إعادة تشغيل كروم (في شريط العناوين الخاص بك):chrome://restart

إذا كنت مهتما فقط في تصحيح الأخطاء للتأكد من أنه قد تغيرت، فيمكنك فقط إضافة إدخال وهمية إلى ملف / إلخ / المضيفين وضرب عنوان URL الجديد. أن فافيسون لن يتم تخزين مؤقتا بالفعل ويمكنك التأكد من أنك يعمل جديد.

اختصار تغيير اسم Favicon، لا توجد طريقة يمكنك إجبار المستخدمين على الحصول على نسخة جديدة

هذا يعمل لكروم:

  • على ماك: حذف الملف

    $ {user.home} / دعم المكتبة / التطبيق / Google / Chrome / Default / Favicons

  • على Windows: حذف الملفات

    C: المستخدمين [اسم المستخدم] appdata local google chrome data user default favicons c: المستخدمين [اسم المستخدم] appdata local google chrome data user default favicons-journal

مصدر

هذا هو الحل للبشرة Chrome: تغيير سمة REL إلى StyleSheet! الحفاظ على الارتباط الأصلي على الرغم من. يعمل كالسحر:

توصلت إلى هذا الحل البديل لأنه لدينا أيضا شرط لتتمكن من تحديث مواقع / رمز الإنتاج العميل ولم أجد أي من الحلول الأخرى للعمل.

أعلم أن هذا سؤال قديم حقا ولكنه أيضا هو أيضا لا يزال ذا صلة، على الرغم من أن هذه الأيام تنطبق فقط على Mozilla. (ليس لدي أي فكرة أن المستكشف الذي كوز لا نرزز للمتصفحات غير القياسية).

تصرفت Chrome بشكل جيد إذا كان أحد يتضمن علامة أيقونة في الرأس.

على الرغم من أن موزيلا تدرك جيدا القضية، كالعادة، فإنهم لا يحلون أبدا الأشياء الصغيرة المزعجة. حتى 6 سنوات بعد ذلك.

لذلك، هناك طريقتان لإجبار الأيقون عن تحديث مع فايرفوكس.

  1. اطلب من جميع عملائك إلغاء تثبيت Firefox. ثم إعادة التثبيت.

  2. يمكن فقط اكتب المجال فقط في شريط URL - لا تستخدم HTTP أو WWW المجال (MyDomain.com).

يفترض هذا بالطبع أن سجلات NS الخاصة بك تتضمن دقة اسم المجال فقط.

إليك كيف تمكنت من ذلك ببساطة Favicon Animated Favicon و Firefox 3.6.13 (النسخة التجريبية)، فمن المحتمل أن تعمل من أجل الإصدارات الأخرى من فايرفوكس أيضا، اسمحوا لي أن أعرف ما إذا كان ذلك غير كذلك. إنه حل Artlung في الأساس، ولكن معالج ملف .gif كذلك:

  1. فتحت بواسطة برنامج FTP، قمت بتنزيل ملفات Favicon.ico و Favicon.gif الخاصة بي
  2. ثم حذفها من ملفات الخادم الخاصة بي.
  3. ثم فتحتهم في متصفحي كما اقترح Artlung:http://mysite.com/favicon.ico. و http://mysite.com/favicon.gif. بمجرد تحميل هذه العناوين وعرضها 404 صفحة خطأ ("الصفحة غير موجودة")
  4. ثم قمت بتحميل كل من الملفات مرة أخرى على الخادم الخاص بي، و Presto - تم عرض الرموز الصحيحة على الفور.

تأكد أيضا من وضع عنوان URL الكامل للصور ليس فقط مسارها النسبي:

http://www.example.com/images/favicon.ico

و لا:

images/favicon.ico

إذا استمرت المشكلة على الرغم من تطبيق بعض الخطوات المذكورة أعلاه حاول إعادة تشغيل خادم IIS. وبعد أتمنى أن يساعدك هذا...

بسيط،

1: لا أريد أن يتم تشغيله مع رموز (PS PS My Builder لا يستخدم الرموز، فإنه يستخدم زر "تحميل ملف" ويفعل ذلك بنفسه)

2: حاولت كنترول+F5. ولا يعمل من أجلي ذلك ....

لدي حل:

أي: مسح جميع سجل المتصفح وملفات تعريف الارتباط عن طريق الذهاب إلى الإعدادات COG O

Chrome: انتقل إلى القائمة في الركن الأيمن العلوي أسفل X الذي يشبه A =، ثم انتقل إلى الإعدادات والتاريخ ومسح البيانات والتحقق من جميع المربعات التي تنطبق (لقد فعلت التاريخ وملفات تعريف الارتباط وتفريغ Catche من بداية الزمن)

ما عليك سوى تغيير اسم الملف هذا = 'favicon1.ico'

يرجى اتباع الخطوات التالية لتغيير أيقونة التطبيق:

  1. أضف ملف .ico في المشروع.
  2. اذهب إلى Angular.json وفي تلك "المشاريع" -> "مهندس المعماري" -> "Build" -> "خيارات" -> "الأصول" وهنا تقدم إدخال ملف أيقونتك. الرجوع إلى إدخال Favicon.ico الحالي لمعرفة كيفية القيام بذلك.
  3. انتقل إلى index.html وتحديث مسار ملف أيقونة. علي سبيل المثال،

<link rel="icon" type="image/x-icon" href="abc.ico">

بدلا من ذلك، أعد تسمية ملف الرمز الخاص بك مع Favicon.ico واستبدله في الدليل.

  1. أعد تشغيل الخادم.
  2. متصفح تحديث الصلب وأنت جيد للذهاب.

سيمون، أفترض أن هناك سببا لم يتم قبول أي إجابات أخرى حتى الآن. وبالتالي أعتقد أن هذا استطاع كن قضية جروج ومع ذلك - خاصة إذا كنت تستخدم "موارد البرنامج المساعد".

إذا كانت الإضافات الخاصة بك توفر فافيسون (والتي - غير غالي - الكثير من القيام به)، فقد يتجاوزون الشخص الذي ترغب في استخدامه - نظرا لك في البرنامج المساعد نفسه.

إذا حذف FAVICON من جميع الإضافات الخاصة بك مؤقت يحل المشكلة، فمن المحتمل جدا أن تعاني من ذلك:

http://jira.grails.org/browse/gpresources-134.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top