Eyedropper API приземлился в Chrome и Edge 95 ! Это простой API на основе обещаний, который позволяет выбирать цвет из любого места на экране. Давайте погрузимся и посмотрим, как это работает.
Для начала мы добавим кнопку, которая активирует капельницу.
Когда кнопка нажата, мы запустим каплей. Как только пользователь выбирает цвет, мы обновим фон страницы, чтобы соответствовать.
const button = document.querySelector('button'); if ('EyeDropper' in window) { const eyeDropper = new EyeDropper(); button.addEventListener('click', () => { eyeDropper .open() .then(colorSelectionResult => { document.body.style.backgroundColor = colorSelectionResult.sRGBHex; }) .catch(() => { // The user canceled selection }); }); } else { // The EyeDropper API isn't supported }
Сломав его
Вот что происходит в приведенном выше коде:
- Офункция получения API
- Создать экземпляр объекта Eyedropper
- Слушайте кнопку нажатия
- Позвоните The Eye Dropper
open ()
Метод, который возвращает Обещать - Подождите, пока обещание разрешить (пользователь выбрал цвет) или отклонить (отменен пользователь отменен)
- При Resolve, возьмите шестигранное значение и установите фон
- При отказе ничего не делать (пустой
catch
предотвратит ошибку, попавшую в консоли)
Обратите внимание, как я определяю функции API Eyedropper. Это важно, потому что на момент написания этой статьи Firefox и Safari не поддерживают его. Это не значит, что вы не можете использовать API для постепенного улучшения опыта ваших пользователей!
Например, я использую его в Shoelace’s Color Sicker Чтобы показать капельницу, если API доступен. В противном случае я не показываю капельницу, но все остальное все еще работает.
Другой пример
Я поднял еще один пример, который немного более практично. Играйте с этим и дайте мне знать, что вы думаете!
Этот пост изначально появился на Блог автора .
Оригинал: “https://dev.to/claviska/exploring-the-eyedropper-api-4dk7”