Получить url favicon с помощью Jquery - PullRequest
0 голосов
/ 07 марта 2012

Я нашел скрипт, который позволяет отображать значки в зависимости от URL здесь: andreaslagerkvist

Это довольно простой скрипт, есть хороший пример, но когда я копирую / вставляюпример, похоже, не работает .. Пожалуйста, посмотрите на эту демонстрацию: JsFiddle

Что я делаю не так?Я что-то упустил в сценарии?

1 Ответ

2 голосов
/ 07 марта 2012

Вы никогда не вызывали плагин, вы только определили его.

Определение плагина

jQuery.fn.favicons = function (conf) {
    var config = jQuery.extend({
        insert:        'appendTo', 
        defaultIco: 'favicon.png'
    }, conf);

    return this.each(function () {
        jQuery('a[href^="http://"]', this).each(function () {
            var link        = jQuery(this);
            var faviconURL    = link.attr('href').replace(/^(http:\/\/[^\/]+).*$/, '$1') + '/favicon.ico';
            var faviconIMG    = jQuery('<img src="' + config.defaultIco + '" alt="" />')[config.insert](link);
            var extImg        = new Image();

            extImg.src = faviconURL;

            if (extImg.complete) {
                faviconIMG.attr('src', faviconURL);
            }
            else {
                extImg.onload = function () {
                    faviconIMG.attr('src', faviconURL);
                };
            }
        });
    });
};

Вызов плагина

jQuery('#jquery-favicons-example').favicons({insert: 'insertBefore'});

Вот рабочая скрипка .

...