FireFox 3.6 - 9 капель favicon при смене window.location
Проблема существует только в 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 = anchor; line, после нажатия кнопки Ok favicon не исчезает, удалите это предупреждение(), и вы потеряете свой значок.
Примечание: он также отключает значок, если вы просто делаете window.location = something
.
Ответы
Ответ 1
Я тоже заметил это поведение. Время от времени Firefox отбрасывает значок или отказывается помещать значок рядом с моей закладкой. Я думаю, что это ошибка Firefox.
Чтобы обойти это (и для других функций), я установил надстройка Favicon Picker. Конечно, это не решает вашу проблему на других компьютерах, таких как клиенты и т.д.
Ответ 2
У меня была та же проблема, но я нашел этот интересный пост, и это сработало для меня, просто добавив 2 строки javascript.
Проблема возникает, когда элемент хэша изменяется, поэтому нам нужно повторно установить его с помощью javascript
http://kilianvalkhof.com/2010/javascript/the-case-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');
}
Или (спасибо Мотти), используя отсоединение jQuery
$('link[type*=icon]').detach().appendTo('head');
Ответ 3
Это сработало для меня:
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);
Обратитесь: Динамическое изменение значка веб-сайта