1. JavaScript / Говнокод #16399

    +145

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    19. 19
    20. 20
    var mySetTitleOriginal = setTitle;
    var setTitle = function (el) {
        if (!el.getAttribute('myDownloadButtonAdded')) {
            var songName = el.getElementsByTagName('b')[0].innerText + ' – ' + el.getElementsByClassName('title')[0].innerText.replace(/\\/g, '\\\\').replace(/"/g, '\\"').replace(/[<>|\\\/:"]/g, '');
            var songUrl = el.parentNode.parentNode.getElementsByTagName('*')[0].getElementsByTagName('input')[0].value.replace(/,.*$/, '') + '?';
            var audio_download_wrap = document.createElement('div');
            audio_download_wrap.setAttribute('class', 'audio_download_wrap fl_r');
            audio_download_wrap.setAttribute('onmouseover', 'Audio.rowActive(this, \'Скачать аудиозапись\', [9, 5, 0]);');
            audio_download_wrap.setAttribute('onmouseout', 'Audio.rowInactive(this);');
    	el.parentNode.getElementsByClassName('actions')[0].appendChild(audio_download_wrap);
            var audio_download = document.createElement('a');
            audio_download.setAttribute('class', 'audio_download');
            audio_download.setAttribute('onclick', 'event.stopPropagation();');
            audio_download.setAttribute('href', songUrl);
            audio_download.setAttribute('download', songName + '.mp3');
            el.parentNode.getElementsByClassName('audio_download_wrap')[0].appendChild(audio_download);
            el.setAttribute('myDownloadButtonAdded', 'true');
        }
        mySetTitleOriginal(el);
    };

    Только при наведение на название показывает иконку на скачивание, подскажите как сделать что бы он автаматом это делал, спасибо

    Запостил: remus, 21 Июля 2014

    Комментарии (6) RSS

    • Код выше тебе подконтролен?
      Если нет, выбери тем или иным методом все div.audio_download_wrap.fl_r и для каждого вызови
      Audio.rowActive(el, \'Скачать аудиозапись\', [9, 5, 0]);
         el.removeAttribute('onmouseover');
         el.removeAttribute('onmouseout');


      А вообще код таки говно. Могли бы и жКвурь использовать.
      Ответить
      • В некоторых говнокругах джикверь не в почете. Побить могут
        Ответить
        • Надо-же, я думал таких уже не осталось...
          И только я устарел с, кгхм, "нативным" екмаскриптом как кости мамонта... :)
          Ответить
          • Ну хоть кто-то мои кости вспомнил. А то обычно вспоминают другое...
            Ответить
    • Дождались: http://codereview.stackexchange.com/
      Надеюсь в будущем будет полезно.
      Ответить
      • ооо, пойду принесу-ка немного говнеца
        Ответить

    Добавить комментарий