FireFox 3.6 - 9 يسقط الرمز المفضل عند تغيير window.location

StackOverflow https://stackoverflow.com/questions/2409759

  •  18-09-2019
  •  | 
  •  

سؤال

مشكلة موجود فقط على FireFox (من 3.6 إلى 9 الحالي)، أما المتصفحات الأخرى فهي جيدة.الكود الخاص بي يبدو كالتالي:

jQuery.extend({
    AnchorFromUrl : function(url) {
        var anchor = url.substr(1).replace('.html','');
        $.fizzer_anchor = anchor;
        window.location.hash = anchor;
        return anchor;
    }
});

والأغرب من ذلك أنني إذا وضعت تنبيهًا قبل window.location.hash = مرساة؛سطر، بعد النقر فوق "موافق" الرمز المفضل لا يختفي، قم بإزالة هذا التنبيه () وستختفي أيقونة المفضلة الخاصة بك.

ملحوظة:كما أنه يسقط الرمز المفضل إذا قمت بذلك للتو window.location = something.

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

المحلول

لقد لاحظت هذا السلوك أيضًا.بين الحين والآخر يسقط Firefox رمزًا مفضلاً أو يرفض وضع الرمز المفضل بجانب الإشارة المرجعية الخاصة بي.أعتقد أن هذا خطأ في Firefox.

للتغلب على هذا (وللوظائف الأخرى)، قمت بتثبيت الوظيفة الإضافية لـ Favicon Picker.وبطبيعة الحال، هذا لا يحل مشكلتك على أجهزة الكمبيوتر الأخرى، مثل العملاء وما شابه.

نصائح أخرى

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

http://kilianvalkhof.com/201/javascript/the-asse-of-the-disappearing-favicon/

هذا هو الكود

function setFavicon() {
  var link = $('link[type="image/x-icon"]').remove().attr("href");
  $('<link href="'+ link +'" rel="shortcut icon" type="image/x-icon" />').appendTo('head');
}

أو (بفضل mottie) باستخدام jQuery detach

$('link[type*=icon]').detach().appendTo('head');

عملت معي :

var link = document.createElement('link');
link.type = 'image/x-icon';
link.rel = 'shortcut icon';
link.href = 'FAV_ICON_URL';
document.getElementsByTagName('head')[0].appendChild(link);

أشير : أيقونة موقع التغيير بشكل حيوي

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