Problem仅存在于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之前发出警报;单击“确定”按钮后,线条不会消失,删除该警告()并使您的图标消失。
注意:如果您只是window.location = something
,它也会删除图标。
答案 0 :(得分:25)
我有同样的问题,但发现这个有趣的帖子,它对我有用,它只是添加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');
}
或者(感谢Mottie)使用jQuery detach
$('link[type*=icon]').detach().appendTo('head');
答案 1 :(得分:1)
它对我有用:
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);
答案 2 :(得分:-4)
我也注意到了这种行为。 Firefox不时会删除一个图标,或者拒绝将图标放在我的书签旁边。我认为这是一个Firefox错误。
要解决此问题(以及其他功能),我安装了Favicon Picker add-on。当然,这并不能解决您在其他计算机上的问题,例如客户端等。