Веб‑разработчик Jane Ori опубликовала на codepen.io демонстрацию хака под названием «100% CSS (без javascript) — получить IP‑адрес пользователя на:root».
Хак работает в три этапа:
делает запрос API из CSS, который отвечает данными, закодированными в высоту и ширину (make an api request from CSS that responds with data encoded into height and width);
использует запросы контейнера и tan(atan2()) в CSS, чтобы считать размеры ответа в 16-битные целые числа (use container queries and tan(atan2()) in CSS to read the dimensions of the response into 16 bit integers);
хак CSS, который позволяет документу :root захватывать и удерживать ‑var‑data, вычисленные из нескольких слоев вложенного DOM, поднимая его обратно и удерживая в приостановленной анимации (a CSS hack that allows the document :root to capture and hold --var-data computed from several layers of nested DOM, hoisting it back up and holding it in a paused animation).
«Пока хак работает только для рабочего стола Chrome», — пояснила автор проекта.
Источник новости: habr.com