Hoppa till innehåll

YouTube med samtycke i Sitevision

Uppdaterad 22 september 2026

Filmer från YouTube och Vimeo sätter kakor i besökarens webbläsare så fort de laddas. Därför får de bara visas när besökaren har godkänt kakor. I Sitevision gör du det med modulen Bädda in och dess inbyggda samtyckesspärr.

Den äldre YouTube-modulen i Sitevision har utgått. Den går inte längre att redigera, har ingen samtyckesspärr och laddar YouTube för alla besökare, även för dem som har nekat kakor.

Förbered webbplatsen, en gång

  1. Gå till Webbplatsinställningar → Cookies → Sitevision cookies och registrera kakan sv-youtube-embed.
  2. Öppna de globala inställningarna för modulen Bädda in och fyll i standardvärden, så att redaktörerna slipper göra det för varje film:
    • Kryssa i Kräv samtycke för att visa inbäddat innehåll.
    • Välj kakan sv-youtube-embed.
    • Skriv titel, beskrivning, förklaring och knapptext. Alla fyra fälten är obligatoriska. Håll texten allmän, så att den passar både YouTube och Vimeo.

De globala inställningarna kräver också en filmadress. Ange valfri film, redaktören byter den ändå.

Lägg in en film

  1. Lägg till modulen Bädda in där filmen ska synas.
  2. Fältet Bädda in URL är redan ifyllt med standardfilmen. Markera allt i fältet och ersätt det med filmens adress, till exempel https://www.youtube.com/watch?v=....
  3. Kontrollera att Kräv samtycke är ikryssat och att sv-youtube-embed är vald. Utan krysset laddas filmen utan att besökaren tillfrågas.
  4. Publicera sidan.

Den som inte har godkänt kakor ser en ruta med din text och en knapp i stället för filmen. Webbläsaren kontaktar inte YouTube förrän besökaren godkänner.

Byt ut en gammal film

  1. Öppna den publicerade sidan, högerklicka på filmen och välj Kopiera videons webbadress.
  2. Lägg in filmen med Bädda in enligt stegen ovan, direkt under den gamla.
  3. Ta bort den gamla YouTube-modulen och publicera sidan.

Kontrollera resultatet

Öppna sidan i ett privat fönster i webbläsaren. Innan du har svarat på kakfrågan ska rutan synas i stället för filmen.

För utvecklare: koppla modulen till Cookie-Script

Använder webbplatsen Sitevisions egen kakbanner fungerar allt ovan som det är. Använder den en extern samtyckestjänst, som Cookie-Script, uppstår två problem:

  • Besökaren får frågan två gånger. Modulen läser inte Cookie-Script, bara Sitevisions eget samtycke. Den som har godkänt allt i Cookie-Script ser ändå rutan och måste klicka en gång till.
  • Samtycket går inte att ta tillbaka. Klickar besökaren på modulens knapp sparar Sitevision sitt ja i kakan sv-cookie-consent. Den är HttpOnly, så varken Cookie-Scripts kakikon eller webbplatsens JavaScript kan radera den.

Modulen lyssnar på dokumenthändelsen sv-cookie-consent och visar inbäddningen när dess kakidentifierare finns i detail.cookieIdentifiers. För kakan sv-youtube-embed är identifieraren sv-internal-sv-youtube-embed. Skriptet nedan, i webbplatsens egen JavaScript-fil, gör Cookie-Script till det enda stället där samtycket ges och tas tillbaka:

  • Har besökaren godkänt kategorin Targeting i Cookie-Script visas filmen direkt, utan att något sparas hos Sitevision.
  • Modulens knapp öppnar Cookie-Script-bannern i stället för att spara ett eget samtycke.
  • Drar besökaren tillbaka samtycket medan en film syns laddas sidan om, så att filmen försvinner.
// Cookie-Script styr samtycket för filmrutorna i Bädda in.
(function () {
  var EMBED = '.sv-marketplace-sitevision-media-embed';
  var COOKIES = ['sv-internal-sv-youtube-embed'];
  var unlocked = false;

  function targetingAccepted() {
    try {
      var s = window.CookieScript && CookieScript.instance.currentState();
      return !!(s && s.categories && s.categories.indexOf('targeting') !== -1);
    } catch (e) {
      return false;
    }
  }

  function unlock() {
    if (!targetingAccepted() || !document.querySelector(EMBED + ' form')) return;
    unlocked = true;
    document.dispatchEvent(new CustomEvent('sv-cookie-consent', {
      detail: { cookieIdentifiers: COOKIES, categories: [] }
    }));
  }

  function relock() {
    if (unlocked && !targetingAccepted()) location.reload();
  }

  function openBanner(e) {
    if (!window.CookieScript || !e.target.closest || !e.target.closest(EMBED + ' form')) return;
    e.preventDefault();
    e.stopImmediatePropagation();
    CookieScript.instance.show();
  }

  document.addEventListener('submit', openBanner, true);
  document.addEventListener('click', function (e) {
    if (e.target.closest && e.target.closest(EMBED + ' form button')) openBanner(e);
  }, true);
  window.addEventListener('CookieScriptLoaded', unlock);
  window.addEventListener('CookieScriptAcceptAll', unlock);
  window.addEventListener('CookieScriptAccept', function () { unlock(); relock(); });
  window.addEventListener('CookieScriptReject', relock);
  window.addEventListener('load', unlock);
})();

Skicka händelsen bara för den identifierare du vill låsa upp. Händelsen går till hela sidan, så en filmruta som av misstag är knuten till till exempel Sitevisions analyskaka skulle annars ge samtycke även till den funktionen.

Kategorinamnet targeting och anropen på CookieScript.instance gäller Cookie-Script. Med en annan samtyckestjänst byter du dem mot tjänstens motsvarigheter.

Bakgrund och regler

YouTube, kartor och inbäddningar — kräver de samtycke?