12

問題は 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; の前にアラートを配置した場合です。行で、[OK] をクリックした後、favicon が消えない場合は、alert() を削除すると、favicon が消えます。

注: を実行すると、ファビコンも削除されますwindow.location = something

4

3 に答える 3

28

私は同じ問題を抱えていましたが、この興味深い投稿を見つけて、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');
于 2011-01-07T22:07:58.560 に答える
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);

参考:ウェブサイトのアイコンを動的に変更する

于 2012-04-20T12:27:46.507 に答える
-5

私もこの振る舞いに気づきました。Firefoxがファビコンをドロップしたり、ブックマークの横にファビコンを配置したりすることを時々拒否します。これはFirefoxのバグだと思います。

これを回避するために(および他の機能のために)、ファビコンピッカーアドオンをインストールしました。もちろん、これはクライアントなどの他のコンピュータでの問題を解決するものではありません。

于 2010-03-09T15:56:38.307 に答える