Недоработка в Chrome, позволяющая изменять буфер обмена без действий пользователя
Дата публикации:Sat, 27 Aug 2022 08:50:31 +0300
В недавних выпусках движка Chromium изменено поведение, связанное с записью в буфер обмена. Если в Firefox, Safari и старых выпусках Chrome запись в буфер обмена допускалась только после явных действий пользователя, то в новых выпусках для записи достаточно просто открыть сайт. Изменение поведения в Chrome объясняется необходимостью чтения данных из буфера обмена при выводе заставки Google Doodle на странице открытия новой вкладки (вместо специфичной обработки данной ситуации, в Chromium просто разрешили всем сайтам записывать в буфер обмена без активации данной операции пользователем).
Возможность записи работает при вызове методов navigator.clipboard.write (пример) и navigator.clipboard.writeText (пример), которые теперь не учитывают активность пользователя на странице. Например, для записи в буфер обмена сразу после открытия сайта достаточно выполнить следующий JavaScript-код:
navigator.clipboard.writeText('Hello from the web page.');
let type = 'text/plain';
let blob = new Blob(['Hello from web page'], { type });
let item = new ClipboardItem({ [type]: blob });
navigator.clipboard.write([item]);
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=57684