TGStat
TGStat
Введите текст для поиска
Расширенный поиск каналов
  • Язык сайта
    flag Russian flag English flag Uzbek
  • Вход на сайт
  • Каталог
    Каталог каналов и чатов Региональные подборки Тематические подборки Платные каналы Поиск каналов
    Добавить канал/чат
  • Рейтинги
    Рейтинг каналов Рейтинг чатов Рейтинг публикаций
    Рейтинги брендов и персон
  • Аналитика
  • Поиск по публикациям
  • Мониторинг Telegram
  • Продвижение
    Реклама через Яндекс Бизнес Реклама в каналах через TGStat Agency Реклама на сайте TGStat.ru
@alexnozer_dev

9 Sep, 18:01

Открыть в Telegram Поделиться Пожаловаться

Persistent Widgets

Многие сайты не должны быть SPA. Но иногда эта архитектура продиктована ограничениями. Хороший пример — сайт подкаста: статические страницы эпизодов, но есть плеер, состояние которого нужно сохранять между страницами.

Ради сохранения состояния плеера весь сайт создаётся как SPA, хотя в остальном на нём нет такой интерактивности, которая требует реактивного фреймворка. Потому что в веб-платформе нет нормальных способов решения такой задачи.

Но, кажется, способ появится. Инженеры Chromium начали прототипировать идею, предложеную группой WICG (Web Incubator Community Group) под названием Persistent Widgets. Это фрейм, который сохраняется при переходах между страницами.

Дисклеймер: это обзор раннего предложения новых функций. Синтаксис может измениться в будущем или от функций могут отказаться


При переходах между страницами DOM-дерево, состояние JS, кэш GPU, соединение WebSockets или WebRTC и состояние медиа-плеера полностью уничтожаются. Чтобы сохранить состояние, предлагается новый элемент .















Элемент работает как — встраивает внешний виджет, указанный в src. Это может быть AI-чат, бот-ассистент, медиа-плеер, виджет с открытым WebSockets соединением или просто отдельная страница с контентом.

При навигации между страницами внутри одного origin браузер делает следующее:

1. Не уничтожает виджет и его контекст;
2. Пока следующая страница загружается, проверяет, есть ли на ней элемент с такими же значениями атрибутов id и src;
3. Виджет и его контекст переносятся в на следующую страницу без перезагрузки и сброса состояния JS;
4. Внутри виджета выбрасывается событие openerchange.

Виджеты в могут быть размещены только на том же origin, что и основной документ. Виджеты третьих сторон предлагается выстраивать через в . Это одно из ограничений ради безопасности.









Доставка







О нас





В качестве виджетов можно встроить или и они продолжат воспроизведение при переходе между страницами, если соблюдаются условия (same-origin, наличие с одинаковыми id и src).

Ко всему прочему предлагается тесная интеграция с BFCache и Cross-Document View Transitions, а также дополнительные JS API. Persistent Widgets находятся в стадии прототипирования и многое может измениться.

#html

484 0 4 20
Каталог
Каталог каналов и чатов Подборки каналов Поиск каналов Добавить канал/чат
Рейтинги
Рейтинг каналов Telegram Рейтинг чатов Telegram Рейтинг публикаций Рейтинги брендов и персон
API
API статистики API поиска публикаций API Callback
Наши каналы
@TGStat @TGStat_Chat @telepulse @TGStatAPI
Почитать
Академия TGStat Исследование Telegram 2019 Исследование Telegram 2021 Исследование Telegram 2023
Контакты
Справочный центр Поддержка Почта Вакансии
Всякая всячина
Пользовательское соглашение Политика конфиденциальности Публичная оферта
Наши боты
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot