Cookieconsent Script
A script that displays a cookie consent message as required by EU regulation (GDPR). The plugin displays a message on the user's first visit and they have the ability to consent to different categories of cookies and services.
See the demo: Cookieconsent
Default look
Features
- IE11 compatible
- Four different blocking methods
- Multilingual
- Mobile ready
Currently it can block all the bad cookie monsters in 4 ways:
Dynamic script tags
Some services insert dynamically created SCRIPT tags to the HEAD at page load. These can be intercepted and blocked.
Script tag blocking
Some third party services require you to insert a SCRIPT tag into your HTML pages. These can be inactivated until the user allowes them.
Script wrapping
Some services are not inserted in a SCRIPT tag and are obscured by layers of other code. Thats why this script creates a global wrapper function what you can use to wrap and block any JS code.
Local cookies
Finally the local cookies set on your domain can be also filtered by overriding the bowsers COOKIE SET method.
Usage
-
Download the file cookieconsent.zip from the latest release and unpack its content.
-
Include the script file into your HTML page before everything else.
<script src="cookieconsent.js"></script>
- Call the
init()
function with the configuration object.
See a working example in the docs folder.
Configuration object
The script is being controlled mainly by a configuration object which is passed to the inital call. It acts as configuration and a global state object.
<script>
window.CookieConsent.init({
modalMainTextMoreLink: null,
modalMainTextMoreTarget: '_blank',
barTimeout: 1000,
barMainTextAllowHtml: false,
theme: {
barColor: '#2C7CBF',
barTextColor: '#FFF',
barMainButtonColor: '#FFF',
barMainButtonTextColor: '#2C7CBF',
modalMainButtonColor: '#4285F4',
modalMainButtonTextColor: '#FFF',
},
language: {
current: 'en',
locale: {
en: {
barMainText: 'This website uses cookies to ensure you get the best experience on our website.',
closeAriaLabel: 'close',
barLinkSetting: 'Cookie Settings',
barBtnAcceptAll: 'Accept all cookies',
modalMainTitle: 'Cookie settings',
modalMainText: 'Cookies are small pieces of data sent from a website and stored on the user\'s computer by the user\'s web browser while the user is browsing. Your browser stores each message in a small file, called cookie. When you request another page from the server, your browser sends the cookie back to the server. Cookies were designed to be a reliable mechanism for websites to remember information or to record the user\'s browsing activity.',
modalBtnSave: 'Save current settings',
modalBtnAcceptAll: 'Accept all cookies and close',
modalAffectedSolutions: 'Affected solutions:',
learnMore: 'Learn More',
on: 'On',
off: 'Off',
enabled: 'is enabled.',
disabled: 'is disabled.',
checked: 'checked',
unchecked: 'unchecked',
},
hu: {
barMainText: 'Ez a weboldal Sütiket használ a jobb felhasználói élmény érdekében.',
closeAriaLabel: 'bezár',
barLinkSetting: 'Süti beállítások',
barBtnAcceptAll: 'Minden süti elfogadása',
modalMainTitle: 'Süti beállítások',
modalMainText: 'A HTTP-süti (általában egyszerűen süti, illetve angolul cookie) egy információcsomag, amelyet a szerver küld a webböngészőnek, majd a böngésző visszaküld a szervernek minden, a szerver felé irányított kérés alkalmával. Amikor egy weboldalt kérünk le a szervertől, akkor a böngésző elküldi a számára elérhető sütiket. A süti-ket úgy tervezték, hogy megbízható mechanizmust biztosítsanak a webhelyek számára az információk megőrzésére vagy a felhasználók böngészési tevékenységének rögzítésére.',
modalBtnSave: 'Beállítások mentése',
modalBtnAcceptAll: 'Minden Süti elfogadása',
modalAffectedSolutions: 'Mire lesz ez hatással:',
learnMore: 'Tudj meg többet',
on: 'Be',
off: 'Ki',
enabled: 'bekapcsolva.',
disabled: 'kikapcsolva.',
checked: 'kipipálva',
unchecked: 'nincs kipipálva',
}
}
},
categories: {
necessary: {
needed: true,
wanted: true,
checked: true,
language: {
locale: {
en: {
name: 'Strictly Necessary Cookies',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eu commodo est, nec gravida odio. Suspendisse scelerisque a ex nec semper.',
},
hu: {
name: 'Szükséges sütik',
description: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur eu commodo est, nec gravida odio. Suspendisse scelerisque a ex nec semper.',
}
}
}
}
},
services: {
analytics: {
category: 'necessary',
type: 'dynamic-script',
search: 'analytics',
cookies: [
{
name: '_gid',
domain: `.${window.location.hostname}`
},
{
name: /^_ga/,
domain: `.${window.location.hostname}`
}
],
language: {
locale: {
en: {
name: 'Google Analytics'
},
hu: {
name: 'Google Analytics'
}
}
}
}
}
});
</script>
Contributed to diginomica by Brainsum, sponsored by .