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”