Хак Проценты загрузки в Favicon для DLE 9.x

Тема в разделе "DLE", создана пользователем mishiko, 12 мар 2014.

Информация :
Актуальная версия DataLife Engine 11.2
( Final Release v.11.2 | Скачать DataLife Engine | Скачать 11.2 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 11.1 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Модераторы: killoff
  1. mishiko

    mishiko Создатель

    Регистр.:
    5 сен 2011
    Сообщения:
    256
    Симпатии:
    101
    1376654567_1366139665_favloader.gif
    Описание: Вывод загрузки сайта в Favicon. Какие браузеры поддерживает я не проверял. Скрипт не выводит точные данные. Просто показывает красивую анимацию во время прогрузки сайта. Скрипт будет работать не только на DLE, но и на других сайтах. Но в нашем случаи рассматриваем только для DLE.

    Наткнулся на такой скрипт,который позволяет выводить загрузку в процентах прямо в favicon'e!

    Установка:
    1)
    Создаем JS скрипт (например с именем favicon.js) с содержанием:

    Код:
    (function(){var i={},j=null,k=null,f=null,g=null,h={},l={color&#58;&#34;#ff0084&#34;,background&#58;&#34;#bbb&#34;,shadow&#58;&#34;#fff&#34;,fallback&#58;!1},c,o=navigator.userAgent.toLowerCase();c=function(e){return-1!==o.indexOf(e)};var p=c(&#34;msie&#34;);c(&#34;chrome&#34;);c(&#34;chrome&#34;)||c(&#34;safari&#34;);var q=c(&#34;safari&#34;)&amp;&amp;!c(&#34;chrome&#34;);c(&#34;mozilla&#34;)&amp;&amp;!c(&#34;chrome&#34;)&amp;&amp;c(&#34;safari&#34;);var m=function(e){for(var a=document.getElementsByTagName(&#34;link&#34;),c=document.getElementsByTagName(&#34;head&#34;)&#91;0&#93;,f=0,h=a.length;f&lt;h;f++)(&#34;icon&#34;===a&#91;f&#93;.getAttribute(&#34;rel&#34;)||&#34;shortcut icon&#34;===
    a&#91;f&#93;.getAttribute(&#34;rel&#34;))&amp;&amp;c.removeChild(a&#91;f&#93;);a=document.createElement(&#34;link&#34;);a.type=&#34;image/x-icon&#34;;a.rel=&#34;icon&#34;;a.href=e;document.getElementsByTagName(&#34;head&#34;)&#91;0&#93;.appendChild(a)},n=function(){g||(g=document.createElement(&#34;canvas&#34;),g.width=16,g.height=16);return g};i.setOptions=function(e){h={};for(var a in l)h&#91;a&#93;=e.hasOwnProperty(a)?e&#91;a&#93;&#58;l&#91;a&#93;;return this};i.setProgress=function(e){f||(f=document.title);if(!k||!j){var a;a&#58;{a=document.getElementsByTagName(&#34;link&#34;);for(var c=0,i=a.length;c&lt;i;c++)if(&#34;icon&#34;===
    a&#91;c&#93;.getAttribute(&#34;rel&#34;)||&#34;shortcut icon&#34;===a&#91;c&#93;.getAttribute(&#34;rel&#34;)){a=a&#91;c&#93;;break a}a=!1}k=j=a?a.getAttribute(&#34;href&#34;)&#58;&#34;/favicon.ico&#34;}if(!isNaN(parseFloat(e))&amp;&amp;isFinite(e))if(!n().getContext||p||q||!0==h.fallback)document.title=0 100) { Piecon.reset(); clearInterval(i); return false; }
          Piecon.setProgress(count);
        }, 250);
      })();
    Или используем готовый вариант.
    Вот и всё!Данный хак работает не только на DLE, но и на других сайтах:)
    После того как создали скрипт-подключаем его к сайту-просто в main.tpl прописываете (в тегах head:(
    <script type="text/javascript" src="ПУТЬ К ВАШЕМУ favicon.js"></script>
    и после ставите(опять же между тегами head:(

    Код:
    <script>
    (function(){
    var count = 0;
    Piecon.setOptions({fallback: 'force'});
    var i = setInterval(function(){
    if (++count > 100) { Piecon.reset(); clearInterval(i); return false; }
    Piecon.setProgress(count);
    }, 250);
    })();
    </script>
     

    Вложения: