![Oracle Drags Its Feet in the JavaScript Trademark Dispute](https://cdn.sanity.io/images/cgdhsj6q/production/919c3b22c24f93884c548d60cbb338e819ff2435-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Oracle Drags Its Feet in the JavaScript Trademark Dispute
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
cookie-consent-js
Advanced tools
A simple dialog and framework to handle the German and EU law (may 2020) about cookies in a website
A simple dialog and framework to handle the German and EU law (as written by EuGH, 1.10.2019 – C-673/17) about cookies in a website.
cookie-consent-js has no external dependencies, and it works also with Bootstrap.
Note We made another version with more detailed cookie settings, which needs Bootstrap. You find it at https://github.com/shaack/bootstrap-cookie-consent-settings
Follow these easy steps to integrate the cookie settings in your page.
npm install cookie-consent-js
Alternatively you can download the git repository.
cookie-consent.css
<link rel="stylesheet" href="/node_modules/cookie-consent-js/src/cookie-consent.css"/>
This should be done before any bootstrap or other frameworks css. You can overwrite styling in your projects css, take a look at cookie-consent.scss.
cookie-consent.js
<script src="/node_modules/cookie-consent-js/src/cookie-consent.js"></script>
In your <head>
or at the bottom of your <body>
.
var cookieConsent = new CookieConsent({privacyPolicyUrl: "/privacy-policy.html"})
In props
you should at least define privacyPolicyUrl
. See below "Configuration properties".
<a href="javascript:cookieConsent.reset()">Cookie settings</a>
So the user can anytime reconfigure, if he wants tracking or not.
Client side JavaScript: Surround your tracking code with
if (cookieConsent.trackingAllowed()) {
// Google Analytics code and/or other tracking code
}
Server side PHP: Surround your tracking code with
if($_COOKIE['cookie-consent-tracking-allowed'] === 'true') {
// do some tracking
}
All other languages: Just read, if the cookie cookie-consent-tracking-allowed
is "true"
...that's all! Contact me, if you have questions.
This framework writes a cookie (it's default name is cookie-consent-tracking-allowed
)
with the value "true"
, if the user has accepted tracking. You can read the value with the JavaScript
API (cookieConsent.trackingAllowed()
) or from any other language, server or client side, which can read cookies.
cookieConsent.reset()
Use this to allow the user to reconfigure the cookie settings, for example, in your service navigation as "Cookie settings".
cookieConsent.trackingAllowed()
Returns true
if the user did accept tracking cookies. Use this function to disable tracking. Surround tracking code,
like the Google Analytics code with
if (cookieConsent.trackingAllowed()) {
// Google Analytics code and/or other tracking code
}
Read the cookie from a PHP server with
if($_COOKIE['cookie-consent-tracking-allowed'] === 'true') {
// do some tracking
}
With default values.
this.props = {
buttonPrimaryClass: "btn btn-primary", // the "accept all" buttons class, only used for styling
buttonSecondaryClass: "btn btn-secondary", // the "accept necessary" buttons class, only used for styling
privacyPolicyUrl: "privacy-policy.html",
autoShowModal: true, // disable autoShowModal on the privacy policy page, to make that page readable
lang: navigator.language, // the language, in which the modal is shown
blockAccess: false, // set "true" to block the access to the website before choosing a cookie configuration
position: "right", // position ("left" or "right"), if blockAccess is false
postSelectionCallback: undefined, // callback, after the user has made his selection
content: { // the content in all needed languages
de: {
title: "Cookie-Einstellungen",
body: "Wir nutzen Cookies, um Inhalte zu personalisieren und die Zugriffe auf unsere Website zu analysieren. " +
"Sie können wählen, ob Sie nur für die Funktion der Website notwendige Cookies akzeptieren oder auch " +
"Tracking-Cookies zulassen möchten. Weitere Informationen finden Sie in unserer --privacy-policy--.",
privacyPolicy: "Datenschutzerklärung",
buttonAcceptAll: "Alle Cookies akzeptieren",
buttonAcceptTechnical: "Nur technisch notwendige Cookies akzeptieren"
},
en: {
title: "Cookie settings",
body: "We use cookies to personalize content and analyze access to our website. " +
"You can choose whether you only accept cookies that are necessary for the functioning of the website " +
"or whether you also want to allow tracking cookies. For more information, please refer to our --privacy-policy--.",
privacyPolicy: "privacy policy",
buttonAcceptAll: "Accept all cookies",
buttonAcceptTechnical: "Only accept technically necessary cookies"
}
},
cookieName: "cookie-consent-tracking-allowed", // the name of the cookie, the cookie is `true` if tracking was accepted
modalId: "cookieConsentModal" // the id of the modal dialog element
}
You can disable autoShowModal
, for instance, in the privacy policy and legal notice pages to make these pages
better readable.
var cookieConsent = new CookieConsent({linkPrivacyPolicy: "privacy-policy.html", autoShowModal: false})
See ./src/cookie-consent.scss
and overwrite values as you need in your project's stylesheet.
You can use this banner for your website free of charge under the MIT-License.
The banner and framework was designed in cooperation with data protection officers and lawyers. However, we can not guarantee whether the banner is correct for your website and assume no liability for its use.
cookie-consent-js is a project of shaack.com.
FAQs
A simple dialog and framework to handle the EU law (as written by EuGH, 1.10.2019 – C-673/17) about cookies in a website.
The npm package cookie-consent-js receives a total of 257 weekly downloads. As such, cookie-consent-js popularity was classified as not popular.
We found that cookie-consent-js demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 0 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Oracle seeks to dismiss fraud claims in the JavaScript trademark dispute, delaying the case and avoiding questions about its right to the name.
Security News
The Linux Foundation is warning open source developers that compliance with global sanctions is mandatory, highlighting legal risks and restrictions on contributions.
Security News
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.