Externt script för GDPR

Scriptmodulen nedan länkas in på externa webbplatser som vill visa popup för godkännande.

I extern sida länkar man in genom en scripttagg. Det finns två alternativ:

Godkänn för endast den webbplats som besöks:

<script src="https://malmo.se/gdprconsent"></script>

Godkänn för alla webbplatser (subdomäner) under malmo.se

<script src="https://malmo.se/gdprglobalconsent"></script>

( function ( win, doc, DAYS, COOKIENAME, DOMAIN, URL, CSS ) { 'use strict'; var docEl = document.documentElement, gdprConsent, frame; function getCookie( name ) { var v = doc.cookie.match( '(^|;) ?' + name + '=([^;]*)(;|$)' ); return v ? v[ 2 ] : null; } function handleDismiss() { var domain, date, expires; DAYS = parseInt( DAYS, 10 ); //-- Restore page --// gdprConsent.parentNode.removeChild( gdprConsent ); docEl.classList.remove( 'with-gdprConsent' ); //-- Set cookie --// domain = ( DOMAIN && DOMAIN !== 'current' ) ? '; domain=.malmo.se' : ''; date = new Date(); date.setTime( date.getTime() + ( DAYS * 24 * 60 * 60 * 1000 ) ); expires = '; expires=' + date.toUTCString(); doc.cookie = COOKIENAME + '=yes' + expires + domain + '; path=/'; } function handleMessage( e ) { if ( e.origin.indexOf( 'malmo.se' ) >= 0 && e.data && e.data.indexOf( 'height:' ) === 0 ) { frame.style.height = e.data.replace( 'height:', '' ) + 'px'; } if ( e.origin.indexOf( 'malmo.se' ) >= 0 && e.data === 'accept' ) { handleDismiss(); } } function init() { var css = doc.createElement( 'style' ); gdprConsent = doc.createElement( 'div' ); frame = doc.createElement( 'iframe' ); gdprConsent.setAttribute( 'class', 'gdprConsent mf-v4' ); gdprConsent.setAttribute( 'style', 'display: block;' ); frame.setAttribute( 'class', 'gdprConsent__extFrame' ); frame.setAttribute( 'src', URL ); css.innerHTML = decodeURIComponent( atob( CSS ) ); docEl.classList.add( 'with-gdprConsent' ); gdprConsent.appendChild( frame ); gdprConsent.appendChild( css ); doc.body.appendChild( gdprConsent ); win.addEventListener( 'message', handleMessage, false ); } if ( URL && getCookie( COOKIENAME ) !== 'yes' ) { init(); } }( window, document, '365', 'gdprApprove', 'current', 'https://malmo.se/Special/Popup-ruta-for-extern-webbplats.html', 'aHRtbC53aXRoLWdkcHJDb25zZW50JTIwJTdCJTBBJTIwJTIwJTIwJTIwb3ZlcmZsb3clM0ElMjBoaWRkZW4lM0IlMEElN0QlMEElMEFodG1sLndpdGgtZ2RwckNvbnNlbnQlMjBib2R5JTIwJTNFJTIwKiUzQW5vdCguZ2RwckNvbnNlbnQpJTJDJTBBaHRtbC53aXRoLWdkcHJDb25zZW50JTIwYm9keSUzQWJlZm9yZSUyQyUyMGh0bWwud2l0aC1nZHByQ29uc2VudCUyMGJvZHklM0FhZnRlciUyMCU3QiUwQSUyMCUyMCUyMCUyMGZpbHRlciUzQSUyMGdyYXlzY2FsZSgxMDAlMjUpJTNCJTBBJTdEJTBBJTBBaHRtbC53aXRoLWdkcHJDb25zZW50JTIwYm9keSUyMCUzRSUyMC5nZHByQ29uc2VudCUyMCU3QiUwQSUyMCUyMCUyMCUyMGZpbHRlciUzQSUyMG5vbmUlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnQlMjAlN0IlMEElMjAlMjAlMjAlMjBkaXNwbGF5JTNBJTIwbm9uZSUzQiUwQSUyMCUyMCUyMCUyMHBvc2l0aW9uJTNBJTIwZml4ZWQlM0IlMEElMjAlMjAlMjAlMjB0b3AlM0ElMjAwJTNCJTBBJTIwJTIwJTIwJTIwcmlnaHQlM0ElMjAwJTNCJTBBJTIwJTIwJTIwJTIwYm90dG9tJTNBJTIwMCUzQiUwQSUyMCUyMCUyMCUyMGxlZnQlM0ElMjAwJTNCJTBBJTIwJTIwJTIwJTIwei1pbmRleCUzQSUyMDIxNDc0ODM2NDclM0IlMEElMjAlMjAlMjAlMjB0ZXh0LWFsaWduJTNBJTIwY2VudGVyJTNCJTBBJTIwJTIwJTIwJTIwd2hpdGUtc3BhY2UlM0ElMjBub3dyYXAlM0IlMEElMjAlMjAlMjAlMjBiYWNrZ3JvdW5kLWNvbG9yJTNBJTIwcmdiYSgwJTJDJTIwMCUyQyUyMDAlMkMlMjAwLjgpJTNCJTBBJTdEJTBBJTBBLmdkcHJDb25zZW50JTNBYmVmb3JlJTIwJTdCJTBBJTIwJTIwJTIwJTIwY29udGVudCUzQSUyMCcnJTNCJTBBJTIwJTIwJTIwJTIwZGlzcGxheSUzQSUyMGlubGluZS1ibG9jayUzQiUwQSUyMCUyMCUyMCUyMGhlaWdodCUzQSUyMDEwMCUyNSUzQiUwQSUyMCUyMCUyMCUyMHZlcnRpY2FsLWFsaWduJTNBJTIwbWlkZGxlJTNCJTBBJTdEJTBBJTBBLmdkcHJDb25zZW50JTNBJTNBLW1vei1zZWxlY3Rpb24lMjAlN0IlMEElMjAlMjAlMjAlMjBiYWNrZ3JvdW5kJTNBJTIwdHJhbnNwYXJlbnQlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnQlM0ElM0FzZWxlY3Rpb24lMjAlN0IlMEElMjAlMjAlMjAlMjBiYWNrZ3JvdW5kJTNBJTIwdHJhbnNwYXJlbnQlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnQlMjAlM0UlMjAuZ2RwckNvbnNlbnRfX3dyYXBwZXIlMkMlMEEuZ2RwckNvbnNlbnQlMjAlM0UlMjAuZ2RwckNvbnNlbnRfX2V4dEZyYW1lJTIwJTdCJTBBJTIwJTIwJTIwJTIwcG9zaXRpb24lM0ElMjByZWxhdGl2ZSUzQiUwQSUyMCUyMCUyMCUyMHRleHQtYWxpZ24lM0ElMjBsZWZ0JTNCJTBBJTIwJTIwJTIwJTIwdmVydGljYWwtYWxpZ24lM0ElMjBtaWRkbGUlM0IlMEElMjAlMjAlMjAlMjBkaXNwbGF5JTNBJTIwaW5saW5lLWJsb2NrJTNCJTBBJTIwJTIwJTIwJTIwb3ZlcmZsb3clM0ElMjBhdXRvJTNCJTBBJTIwJTIwJTIwJTIwYm9yZGVyLWJvdHRvbSUzQSUyMDI1cHglMjBzb2xpZCUyMHRyYW5zcGFyZW50JTNCJTBBJTIwJTIwJTIwJTIwbWFyZ2luLWxlZnQlM0ElMjA1JTI1JTNCJTBBJTIwJTIwJTIwJTIwbWFyZ2luLXJpZ2h0JTNBJTIwNSUyNSUzQiUwQSUyMCUyMCUyMCUyMG1heC1oZWlnaHQlM0ElMjA5NSUyNSUzQiUwQSUyMCUyMCUyMCUyMGJhY2tncm91bmQlM0ElMjAlMjNmZmYlM0IlMEElMjAlMjAlMjAlMjBjdXJzb3IlM0ElMjBhdXRvJTNCJTBBJTIwJTIwJTIwJTIwd2hpdGUtc3BhY2UlM0ElMjBub3JtYWwlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnRfX2V4dEZyYW1lJTIwJTdCJTBBJTIwJTIwJTIwYm9yZGVyJTNBbm9uZSUzQiUwQSUyMCUyMCUyMHdpZHRoJTNBJTIwOTAlMjUlM0IlMEElMjAlMjAlMjBtYXgtd2lkdGglM0ElMjA2MzRweCUzQiUwQSUyMCUyMCUyMGhlaWdodCUzQSUyMDYwMHB4JTNCJTBBJTdEJTBBJTBBLmdkcHJDb25zZW50X19ib2R5JTIwJTdCJTBBJTIwJTIwJTIwJTIwZGlzcGxheSUzQSUyMGJsb2NrJTNCJTBBJTdEJTBBJTBBLmdkcHJDb25zZW50X19ib2R5JTIwKiUyMCU3QiUwQSUyMCUyMCUyMCUyMGJveC1zaXppbmclM0ElMjBib3JkZXItYm94JTNCJTBBJTdEJTBBJTBBJTQwbWVkaWElMjBvbmx5JTIwc2NyZWVuJTIwYW5kJTIwKG1heC13aWR0aCUzQSUyMDEwMjRweCklMjAlN0IlMEElMjAlMjAlMjAlMjAuZ2RwckNvbnNlbnRfX3dyYXBwZXIlMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtYXJnaW4tbGVmdCUzQSUyMDAlM0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBtYXJnaW4tcmlnaHQlM0ElMjAwJTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwbWF4LWhlaWdodCUzQSUyMDk4JTI1JTNCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFkZGluZyUzQSUyMDEwcHglMjAxMHB4JTIwMCUzQiUwQSUyMCUyMCUyMCUyMCUyMCUyMCUyMCUyMGJvcmRlci1ib3R0b20lM0ElMjAxMHB4JTIwc29saWQlMjB0cmFuc3BhcmVudCUzQiUwQSUyMCUyMCUyMCUyMCU3RCUwQSU3RCUwQSUwQSU0MG1lZGlhJTIwcHJpbnQlMjAlN0IlMEElMjAlMjAlMjAlMjBodG1sLndpdGgtZ2RwckNvbnNlbnQlMjAlM0UlMjAqJTIwJTNFJTIwJTNBbm90KC5nZHByQ29uc2VudCklMjAlN0IlMEElMjAlMjAlMjAlMjAlMjAlMjAlMjAlMjBkaXNwbGF5JTNBJTIwbm9uZSUzQiUwQSUyMCUyMCUyMCUyMCU3RCUwQSU3RCUwQSUwQS5nZHByQ29uc2VudF9fd3JhcHBlciUyMCU3QiUwQSUyMCUyMCUyMCUyMG1heC13aWR0aCUzQSUyMDkwJTI1JTNCJTBBJTdEJTBBJTBBLmdkcHJDb25zZW50X193cmFwcGVyLS1mcmFtZWQlMjAlN0IlMEElMjAlMjAlMjBtYXgtd2lkdGglM0ElMjBub25lJTNCJTBBJTA5cGFkZGluZyUzQSUyMDAlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnRfX2JvZHklMjAlN0IlMEElMjAlMjAlMjAlMjBtYXgtd2lkdGglM0ElMjA2MzRweCUzQiUwQSUyMCUyMCUyMCUyMHBhZGRpbmclM0ElMjAyMHB4JTNCJTBBJTdEJTBBJTBBJTQwbWVkaWElMjAobWluLXdpZHRoJTNBJTIwNDgxcHgpJTIwJTdCJTBBJTIwJTIwJTIwJTIwLmdkcHJDb25zZW50X19ib2R5JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFkZGluZyUzQSUyMDQwcHglM0IlMEElMjAlMjAlMjAlMjAlN0QlMEElN0QlMEElMEEuZ2RwckNvbnNlbnRfX2NvbnRlbnQlMjAlN0IlMEElMjAlMjAlMjAlMjBwYWRkaW5nJTNBJTIwMCUyMDAlMjAxMHB4JTNCJTBBJTdEJTBBJTBBJTQwbWVkaWElMjAobWluLXdpZHRoJTNBJTIwNDgxcHgpJTIwJTdCJTBBJTIwJTIwJTIwJTIwLmdkcHJDb25zZW50X19jb250ZW50JTIwJTdCJTBBJTIwJTIwJTIwJTIwJTIwJTIwJTIwJTIwcGFkZGluZyUzQSUyMDAlMjAwJTIwMjBweCUzQiUwQSUyMCUyMCUyMCUyMCU3RCUwQSU3RCUwQSUwQS5nZHByQ29uc2VudF9fY29uZmlybSUyMCU3QiUwQSUyMCUyMCUyMCUyMHRleHQtYWxpZ24lM0ElMjBjZW50ZXIlM0IlMEElN0QlMEElMEEuZ2RwckNvbnNlbnRfX2J0biUyMCU3QiUwQSUyMCUyMCUyMCUyMHBvc2l0aW9uJTNBJTIwcmVsYXRpdmUlM0IlMEElMjAlMjAlMjAlMjBwYWRkaW5nLWxlZnQlM0ElMjA1OXB4JTIwIWltcG9ydGFudCUzQiUwQSUyMCUyMCUyMCUyMHdoaXRlLXNwYWNlJTNBJTIwbm9ybWFsJTIwIWltcG9ydGFudCUzQiUwQSUyMCUyMCUyMCUyMHRleHQtYWxpZ24lM0ElMjBsZWZ0JTIwIWltcG9ydGFudCUzQiUwQSUyMCUyMCUyMCUyMGxpbmUtaGVpZ2h0JTNBJTIwMS4yJTIwIWltcG9ydGFudCUzQiUwQSU3RCUwQSUwQS5nZHByQ29uc2VudF9fYnRuJTIwc3ZnJTIwJTdCJTBBJTIwJTIwJTIwZGlzcGxheSUzQSUyMGJsb2NrJTNCJTBBJTIwJTIwJTIwcG9zaXRpb24lM0ElMjBhYnNvbHV0ZSUzQiUwQSUyMCUyMCUyMHRvcCUzQSUyMDUwJTI1JTNCJTBBJTIwJTIwJTIwbGVmdCUzQSUyMDdweCUzQiUwQSUyMCUyMCUyMG1hcmdpbi10b3AlM0ElMjAtMjJweCUzQiUwQSUyMCUyMCUyMHdpZHRoJTNBJTIwNDRweCUzQiUwQSUyMCUyMCUyMGhlaWdodCUzQSUyMDQ0cHglM0IlMEElMjAlMjAlMjBwYWRkaW5nJTNBJTIwN3B4JTNCJTBBJTdEJTBBJTBB' ) );

Senast ändrad: 2018-06-07 13:11