Старые апи.
Каждый раз, когда я сталкиваюсь с чем-то кривым и плохо спланированным в браузерах, то понимаю что это что-то из эпохи IE11 или раньше.
Сейчас я работаю над аналитикой на сайте и удивляюсь насколько плохо спроектирован sendBeacon. Если вкратце что это такое: этот метод когда-нибудь отправит данные по урлу, который мы передаём туда. Всё, максимально примитивно.
И эта примитивность плоха. В идеале, я хотел бы чтобы sendBeacon батчил и отправлять данные на сервер, когда пользователь не взаимодействует со страницей. Но этого нет - дока на mdn рекомендует делать это самостоятельно:
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/sendBeacon#sending_analytics_at_the_end_of_a_session
И самое неприятное то, что я не могу сделать всё это руками в юзерспейсе: requestIdleCallback попросту отсутсвует в Safari. В итоге, для примитивной аналитики нам нужно костылить кучу кода.
Post #231
1.46K