A tailorable jQuery plugin to deal with the EU Cookie Law.
We're not accepting any more pull requests, someone else is working on a new version at the moment, when its ready, we'll link it here.
Add jquery.cookiecuttr.js
, after jQuery and js-cookie, and cookiecuttr.css
to the head of your HTML document. Then call CookieCuttr on document ready.
$(document).ready(function () {
$.cookieCuttr();
});
For any JavaScript you want to disable, you need to wrap the following if statement around it.
if (Cookies('cc_cookie_accept') == "cc_cookie_accept") {
// insert the code you do not want to run UNTIL cookies are accepted here
}
if (Cookies('cc_cookie_accept') == "cc_cookie_accept") {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document. getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
Alternatively, you can do the following until cookies are declined.
if (Cookies('cc_cookie_decline') == "cc_cookie_decline") {
// do nothing
} else {
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document. getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
}
You can also do the following.
if( $.cookieAccepted() ) {
// insert the code you do not want to run UNTIL cookies are accepted here
}
- Is the EU's cookie law confusing you too?
- New EU cookie law (e-Privacy Directive)
- Cookies – Doing nothing isn't the right answer
A Wordpress version is available here.
For options, see the WIKI.
- Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet
- Check out the issue tracker to make sure someone already hasn't requested it and/or contributed it
- Fork the project
- Start a feature/bugfix branch
- Commit and push until you are happy with your contribution
- Initiate a pull request
- weare2ndfloor for the plugin
- unsymbol for organising the implementation txt into a readme markdown file
- rediris for adding js-cookie dependency & adding bower.json file
Copyright (c) 2012 Chris Wharton. See LICENSE.txt for further details.