Сайт фотографа в Касселі, командна робота

Новий сайт фотостудії в Касселі: 16 сторінок, статика, із власним сервером на Node для віддачі. Командна робота: 39 комітів, з них мої 8. Моя частина лягла на той бік, якого не видно: вбудувати чужий чат так, щоб без згоди він не завантажувався взагалі.

Було і стало

Fritz ist Frieda, Було і стало
Ліворуч — попередній сайт, праворуч — теперішній. Обидва кадри зняті в однаковій ширині вікна, без смуги про куки.

Моя частина

  • Чат-віджет ADON CRM вбудовано на всі 15 сторінок, не прямим тегом, а через завантажувач згоди: до згоди його немає в DOM зовсім
  • Чужий віджет розібрано, перш ніж пускати: XHR з опитуванням, Shadow DOM, без iframe і WebSocket, звертається лише до власної адреси
  • Заведено нову категорію функціональних куків й піднято версію згоди, нова мета обробки вимагає спитати заново
  • Розширено CSP на сервері: адресу віджета додано в script-src і connect-src
  • Куки приведено до рішення Planet49: аналітика і маркетинг вимкнені за умовчанням, функціональні теж
  • Дописано розділ про чат у Datenschutzerklärung
  • Перший екран: рамку знімка поставлено так, щоб фотографія її заповнювала; переписано описи студії

Перевірка

  • До згоди: віджета в DOM немає, перевірено селектором, скрипт відсутній
  • Після згоди на функціональні куки: віджет вставляється і будує свій інтерфейс у Shadow DOM
  • При повторному заході зі збереженою згодою вантажиться сам
  • Порушень CSP у консолі немає; з’єднання з API дозволене, ні iframe, ні WebSocket не потрібні
  • Увесь хід роботи лежить у репозиторії журналом внесення, його можна перевірити, а не просто повірити

Технології: HTML, CSS, JavaScript, Node.js (віддача і CSP), Docker

fritzistfrieda.de