将哈希附加到我的URL末尾会导致favicon不显示在FireFox中

时间:2013-11-21 20:17:53

标签: javascript cookies favicon hashtag

我在FireFox的Shopify商店中遇到了我的favicon的问题。此问题仅适用于FireFox,在IE,Safari或Chrome中不会发生。

基本上,我有一个脚本可以将哈希(#en或#can)附加到我网站的末尾。出于某种原因,如果我有这个代码,那么favicon不会显示在Firefox的选项卡中,即使它在我尝试的所有其他浏览器中都有效。有没有人对可能导致这种情况的原因有任何想法?这是我用来附加哈希的代码:

var cc_code = get_cookie("cc_code"); 
if (cc_code == null) {
set_cookie("cc_code","en", 3,"/","");
location.replace(location.href.split('#')[0] + "#en");

} else {
    location.replace(location.href.split('#')[0] + "#"+cc_code);
}

我对javascript知之甚少,但如果我不得不猜测,我会说它与location.replace有什么关系到最后?任何帮助将不胜感激。谢谢!

1 个答案:

答案 0 :(得分:1)

这是解决方案(来自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');
}

然后只需致电

setFavicon();

无论你在哪里附加哈希值。