/* Инструкция по использованию: - заходим в раздел с аудиозаписями - листаем в самый низ (чтобы прогрузились все аудиозаписи) - открываем консоль браузера (F12 -> Консоль) - вставляем код и нажимаем ENTER - скачивание началось... - браузер может потребовать разрешение на сохранение файлов, необходимо подтвердить действие Важно! С открытой вкладкой ничего не делаем! Проверено в Google Chrome */ var script = document.createElement('script'); script.src = "https://code.jquery.com/jquery-3.2.1.min.js"; document.getElementsByTagName('head')[0].appendChild(script); script = document.createElement('script'); script.src = "https://cdnjs.cloudflare.com/ajax/libs/downloadjs/1.4.7/download.min.js"; document.getElementsByTagName('head')[0].appendChild(script); // Количество одновременных загрузок const DOWNLOAD_COUNT = 5; function download_file(url, name, type, callback) { var xhr = new XMLHttpRequest(); xhr.open("GET", url, true); xhr.responseType = "blob"; xhr.onload = function () { download(xhr.response, name + ".mp3", type); callback(); }; /*xhr.onprogress = function (e) { var progress = e.loaded * 100 / e.total; console.log( name, Math.round(progress, 2) + "%" ); };*/ xhr.send(); } setTimeout(function () { var ids = $('._audio_row').map(function () { return $(this).data('full-id'); }).get(); var progress = 0; window.download_audio = function () { if (progress > (ids.length - 1)) { console.log("Все аудиозаписи скачаны!"); return; } $.post("al_audio.php", { act: "reload_audio", al: 1, ids: ids[progress++] }, function (data) { var matches = data.match(/\[(.+)\]/); if (matches == null || matches[1] == null) { download_audio(); console.log("Не удалось скачать аудиозапись, идём дальше..."); return; } data = JSON.parse(matches[1]); var name = data[4] + " - " + data[3]; name = $('