Это форк Image Downloader от Влада Сабева (vdsabev). Исходное расширение не обновляется, и этот проект призван восполнить пробел. Цель — исправить ошибки, поддержать больше веб-сайтов (как можно больше), добавить новые функции и улучшения. Предложения приветствуются — сообщите о проблеме на github! IDC не продается и всегда будет бесплатным, с открытым исходным кодом, без рекламы или каких-либо алгоритмов отслеживания! Вы можете найти исходный код здесь: https://github.com/kisdma/image-downloader-cnt.
Если вам нужно массово загрузить изображения с веб-страницы, с помощью этого расширения вы можете:
Посмотрите изображения, которые содержит страница, и ссылки на них.
Фильтруйте их по ширине, высоте и URL-адресу; поддерживает подстановочные знаки и регулярные выражения
Выберите изображения для загрузки, нажав на изображение.
Используйте специальные кнопки для загрузки или открытия отдельных изображений на новых вкладках.
Настройте ширину отображения изображения, столбцы, размер границы и цвет
Скройте фильтры, кнопки и уведомления, которые вам не нужны
Когда вы нажимаете кнопку «Загрузить», все выбранные изображения сохраняются в каталоге загрузки Chrome по умолчанию или в каталоге внутри него, если вы укажете имя подпапки.
ВНИМАНИЕ: Если вы не настроили каталог загрузки по умолчанию, вам придется вручную выбирать место сохранения для каждого изображения, что может привести к открытию множества всплывающих окон. Не рекомендуется пытаться загрузить слишком много изображений одновременно без каталога загрузки по умолчанию.
2.9
Исправлена ошибка восстановления относительного URL-адреса.
Добавлено обнаружение изображений с более высоким разрешением для Cloudfront.net.
Восстановлен парсинг link rel="mask-icon" (ранее отключен) 2.8:
Улучшено обнаружение и сбор изображений, исправлено множество ошибок.
Добавлен скрипт внедрения, предотвращающий закрытие страниц ShadowDOM (из-за чего изображения внутри невозможно обнаружить). Примечание. Веб-сайты используют это для обхода блокировщиков рекламы.
Добавлено обнаружение изображений в ShadowDOM.
Добавлена вставка стиля CSS для предотвращения блокировки рекламы изображений, добавленных IDC (влияет только на элементы с классом «idc-image»).
Добавлен прослушиватель для отслеживания изменений DOM и обнаружения прерывистых изображений, таких как webp (движущиеся изображения в формате gif) с YouTube, или постоянно добавляемых/удаляемых изображений, например, при прокрутке Instagram.
Добавлено сохранение списка обнаруженных изображений в сериализованный массив в скрытом теге на странице (пропадает при обновлении страницы).
Исправлена ошибка с количеством отправленных загрузок (было +1).
Улучшено регулярное выражение для лучшего обнаружения изображений в тегах «стиль» (отсутствовали некоторые данные: URL-адреса изображений).
Очищен и перенесен в функцию код, который проверяет и переводит (при необходимости) относительные URL-адреса в абсолютные. Использовал эту функцию для тегов, где эта проверка отсутствовала.
Улучшен наблюдатель, позволяющий обнаруживать больше изображений из временных элементов, таких как всплывающие окна (расширен список фильтров атрибутов).
Улучшено обнаружение изображений в теге «svg» — если он содержит теги изображения, то возвращает изображения из них вместо создания svg в формате base64.
Удалена функция encodeURI() из кода, который заполняет кэш изображений и обращается к нему. Не уверен, какова была цель этого, поскольку входящие ссылки извлекаются из тегов, где они должны быть уже закодированы. Это нарушало ссылки, которые уже были закодированы и в которых были экранированы специальные символы (обнаружил это в Википедии - ссылки в круглых скобках).
Исправлена ошибка парсинга тега source - добавлена поддержка списка с разным разрешением в srcset (1x, 2x и т.д.)
Исправлена ошибка: добавление дубликатов изображений YouTube в popup.js.
Исправлена ошибка: создавались неправильные URL-адреса, если базовый URL-адрес заканчивался обратной косой чертой.
Исправлена ошибка при разборе тега img.
Исправлена ошибка вrelativeUrlToAbsolute — возвращалось «неопределенное», если ввод был пустым.
Добавлено обнаружение ссылок с помощью команды «изменить размер» для сервера в части запроса URL - добавление ссылок без команды обеспечивает изображения с более высоким разрешением.
2.7:
Улучшено обнаружение изображений, исправлены ошибки в коде и дизайне.
Добавлен разбор атрибута srcset и lowsrc в тегах img.
Добавлен анализ атрибута «srcset» в тегах «source» (внутри тега «picture» html5).
Добавлено преобразование холста в изображение — мощный метод извлечения изображений с высоким уровнем защиты (даже не отображаемых на вкладке «Ресурсы» в инструментах разработчика). Примечание. В настоящее время добавленные изображения будут накапливаться при каждом нажатии кнопки расширения. Их можно удалить, обновив страницу.
Добавлена проверка длинных URL-адресов изображений (скорее всего, data:image) и их размещение в верхней части страницы вместо отправки во всплывающее окно (чтобы соответствовать преобразованию холста в изображение, которое может создавать большие строки data:image/jpeg). )
На странице настроек добавлен выбор цвета текстовых информационных ярлыков (совмещенный в одном варианте с цветом выбора изображения). Иконки тоже раскрашены соответствующим образом.
Закомментирован устаревший код, позволяющий открыть страницу параметров после установки и проверить наличие версий до 2.1 (в defaults.js).
Закомментирован параметр минимальной ширины, поскольку он в настоящее время не работает (не уверен, что он полезен) (в options.html).
Сделана максимальная высота в соответствии с опцией максимальной ширины (чтобы работать лучше, если выбран предварительный просмотр небольшого изображения).
Заменен zepto.js оригинальным необфусцированным исходным кодом.
Исправлена мигающая анимация сообщения о загрузке (видимо, она сломалась после перехода с jquery на zepto)
2.6:
Значительный редизайн и улучшенное обнаружение изображений.
Модернизирован внешний вид всплывающего окна, изображения размещаются на плитках с дополнительной информацией об изображении, в параметры добавлен выбор цвета плитки.
Исправлено несколько ошибок, улучшено обнаружение изображений во многих случаях, включая глубокий анализ CSS вместо сломанного API таблиц стилей.
Добавлены ярлыки для сайтов обратного поиска изображений (Google, Bing, Yandex, TinEye) для каждого изображения.
2,5:
Добавлено отображение размера изображения и имени файла изображения (можно отключить в настройках)
Добавлен упорядочивание изображений по размеру — две новые опции: 1) упорядочивать только по ширине (по умолчанию) или по ширине+высоте, 2) от наибольшего к наименьшему (по умолчанию) или наоборот.
Добавлено масштабирование изображений по вертикали, если они выше 200 пикселей.
Формат SVG не читался из тега «svg» — исправлено
Добавлено изображение чтения из «постера» тега «видео».
Исправлены нераспознаваемые фоновые изображения. Чтение таблиц стилей, похоже, не работает (для чтения из cssRules). Реализовано обходное решение: получение CSS-файлов со ссылками, полученными из тегов link. Примечание. Некоторые сайты используют разные домены второго уровня для хранения CSS. В этом случае выборка не будет работать, если у расширения нет разрешения для «all_urls» (или определенного домена). Это просто приводит к тому, что некоторые изображения не отображаются. Удалите разрешение в расширениях Chrome, если это вас беспокоит.
Добавлено обнаружение изображений с максимальным разрешением на Картах Google и в фотографиях Street View (обнаружен недокументированный API).
Добавлен предварительный просмотр в высоком разрешении для миниатюр YouTube (включая видео текущей страницы).
Исправлено регулярное выражение для анализа ссылок тега 'a', чтобы предотвратить обнаружение ссылок, отличных от изображений.
2.4.2:
Обходной путь для Chrome, запрещающий доступ к междоменным правилам CSS
2.4.1:
Исправлена проблема, из-за которой неверные URL-адреса приводили к поломке расширения — PactInteractive/image-downloader#23.
Обновлен Zepto.js до 1.2.0.
2.4:
Добавлена возможность переименования файлов перед загрузкой.
2.3:
Добавлена поддержка изображений BMP, SVG и WebP.
Добавлена поддержка относительных URL-адресов.
Улучшена скорость загрузки всплывающих окон за счет поиска по меньшему количеству элементов.
Заменены устаревшие вызовы chrome.extension
на chrome.runtime
2.2:
Убрано ненужное разрешение на доступ к вкладкам.
Удален запрос на пожертвование из-за жалоб некоторых пользователей на то, что он не исчезает с первого раза, как должен; теперь страница параметров будет открываться при первой установке
Сохраните значение URL-фильтра.
Еще одна попытка исправить некоторые проблемы с размером.
2.1:
Добавлены фильтры ширины/высоты изображения.
Добавлен однократный сброс всех настроек из-за проблем с размером у некоторых людей.
Удалена опция сортировки по URL.
2.0:
Добавлена возможность сохранять файлы в подпапку.
Использован API загрузки Google Chrome.
Реализован более чистый дизайн на основе сетки.
При нажатии на текстовое поле URL-адреса изображения теперь автоматически выбирается текст, чтобы пользователи могли его скопировать.
Исправлено несколько незначительных проблем с отображением.
Добавлены настройки количества столбцов, удалена настройка стиля границы.
Добавлены кнопки пожертвования на странице настроек.
1.3:
Изображения, используемые в теге стиля, теперь также будут включены в конец списка. Раньше включались только изображения из атрибутов встроенного стиля элементов.
Добавлена поддержка URI данных.
Несколько исправлений ошибок и оптимизаций
1.2:
Изменен URL-адрес над изображением, который будет отображаться в текстовом поле, доступном только для чтения.
Флажки для изображений перемещены вверх, а под каждым добавлены кнопки открытия и загрузки.
Изначально отключена кнопка «Скачать» и флажок «Все»
Введено несколько новых опций для скрытия фильтров, кнопок и уведомлений.
Удалена опция ширины тела; ширина всплывающего окна теперь изменяется относительно максимальной ширины изображения.
Оптимизированный дизайн
1.1:
Исправлено сохранение минимальной и максимальной ширины изображения.
Добавлен URL-адрес над самим изображением и возможность его переключения.
Добавлен режим фильтра с подстановочными знаками (наряду с обычным и регулярным выражением).
Состояние выбранных фильтров теперь будет сохранено.
Опция «Сортировать по URL» возвращена в фильтры.
На страницу настроек добавлена кнопка «Очистить данные». Хотя расширение пока не использует много локального хранилища, кто-то может оценить эту возможность.
Рефакторинг большого количества кода, особенно использование локального хранилища.
1.0.13:
Добавлено уведомление, сообщающее пользователю о начале загрузки.
Добавлено несколько анимаций и немного доработаны уведомления о параметрах.
Исправлены некоторые обработчики событий, которые присоединялись несколько раз.
1.0.12:
Перешел на jQuery
Реализовано неопределенное состояние для флажка «Все».
Кнопка «Загрузить» теперь будет неактивна, если ни одно изображение не отмечено флажком.
Исправлена ошибка с параметрами сброса — теперь пользователь может выбрать сохранение значений сброса или просто отменить сброс, перезагрузив страницу — как указано в уведомлении.
1.0.11:
Изменен механизм загрузки для поддержки Chrome v21+.
Добавлен параметр фильтра «Показывать только связанные изображения», который может быть полезен, если вы хотите загружать только изображения, находящиеся по URL-адресу на странице.
1.0.10:
Добавлено подтверждение загрузки
1.0.9:
Количество изображений теперь будет отображаться рядом с флажком «Все».
1.0.8:
Добавлено обнаружение URL-адресов изображений в тегах привязки; обратите внимание, что эта функция не обнаруживает URL-адреса, которые не имеют расширений файлов .jpg, .jpeg, .gif или .png — она использует регулярное выражение, чтобы избежать возможной отправки сотен запросов на внешние серверы.
1.0.7:
Удалена система уведомлений на рабочем столе, которая появлялась при нажатии «Загрузить», в пользу текстового описания, которым должно быть легче управлять (через «Параметры») и менее навязчиво; это также должно потребовать меньше разрешений для расширения
Добавлена возможность скрыть уведомление о загрузке; большинство людей должны понять процесс загрузки, прочитав его всего один раз.
Сделаны небольшие изменения пользовательского интерфейса.
1.0.6:
Исправлена проблема с несколькими ненужными пустыми изображениями.
1.0.5:
Элементы, отображающие изображение с использованием свойства CSS «background-image», теперь также будут извлекаться.
1.0.4:
Добавлено уведомление, которое предупреждает пользователя о начале процесса загрузки и объясняет, где искать файлы.
На основе примера расширения Google Chrome «Загрузить выбранные ссылки»: https://developer.chrome.com/extensions/examples/api/downloads/download_links.zip.
Использует крошечную, но потрясающую библиотеку JSS: https://github.com/Box9/jss.
И Zepto.js: http://zeptojs.com.
Изображения: download.svg по лицензии CC BY 3.0 от Online Web Fonts http://www.onlinewebfonts.com/icon open.svg по лицензии CC BY 3.0 от Online Web Fonts http://www.onlinewebfonts.com/icon
Copyright (c) 2019 Дмитрий Кислицын, Владимир Сабев
Настоящим бесплатно любому лицу, получившему копию этого программного обеспечения и связанных с ним файлов документации («Программное обеспечение»), предоставляется разрешение на работу с Программным обеспечением без ограничений, включая, помимо прочего, права на использование, копирование, изменение, объединение. публиковать, распространять, сублицензировать и/или продавать копии Программного обеспечения, а также разрешать лицам, которым предоставлено Программное обеспечение, делать это при соблюдении следующих условий:
Вышеупомянутое уведомление об авторских правах и данное уведомление о разрешении должны быть включены во все копии или существенные части Программного обеспечения.
ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ ПРЕДОСТАВЛЯЕТСЯ «КАК ЕСТЬ», БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ВКЛЮЧАЯ, НО НЕ ОГРАНИЧИВАЯСЬ, ГАРАНТИЯМИ ТОВАРНОЙ ЦЕННОСТИ, ПРИГОДНОСТИ ДЛЯ ОПРЕДЕЛЕННОЙ ЦЕЛИ И НЕНАРУШЕНИЯ ПРАВ. НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ АВТОРЫ ИЛИ ОБЛАДАТЕЛИ АВТОРСКИХ ПРАВ НЕ НЕСУТ ОТВЕТСТВЕННОСТИ ЗА ЛЮБЫЕ ПРЕТЕНЗИИ, УБЫТКИ ИЛИ ДРУГУЮ ОТВЕТСТВЕННОСТЬ, БУДЬ В ДЕЙСТВИЯХ ПО КОНТРАКТУ, ПРАВОНАРУШЕНИЮ ИЛИ ДРУГИМ ОБРАЗОМ, ВОЗНИКАЮЩИЕ ОТ, ИЗ ИЛИ В СВЯЗИ С ПРОГРАММНЫМ ОБЕСПЕЧЕНИЕМ ИЛИ ИСПОЛЬЗОВАНИЕМ ИЛИ ДРУГИМИ СДЕЛКАМИ, ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ.