diff --git a/js/eu_cookie_compliance.js b/js/eu_cookie_compliance.js index f0cd26c..ae26b2b 100644 --- a/js/eu_cookie_compliance.js +++ b/js/eu_cookie_compliance.js @@ -349,7 +349,16 @@ Drupal.eu_cookie_compliance.setStatus = function (status) { var date = new Date(); + var ua = window.navigator.userAgent; + var msie = ua.indexOf("MSIE "); + var ie11 = ua.indexOf("Trident"); var domain = Drupal.settings.eu_cookie_compliance.domain ? Drupal.settings.eu_cookie_compliance.domain : ''; + var spnl = domain.indexOf(".sp.nl"); + // Cross domain cookie support for *.sp.nl + // IE & Trident cannot support this so always set te eu_cookie_compliance.domain to the full something.sp.nl subdomain + if (msie == -1 && ie11 == -1 && spnl !== -1) { + domain = '.sp.nl'; + } var path = Drupal.settings.basePath; var cookieName = (typeof eu_cookie_compliance_cookie_name === 'undefined' || eu_cookie_compliance_cookie_name === '') ? 'cookie-agreed' : eu_cookie_compliance_cookie_name; if (path.length > 1) { @@ -361,12 +370,12 @@ var cookieSession = parseInt(Drupal.settings.eu_cookie_compliance.cookie_session); if (cookieSession) { - $.cookie(cookieName, status, { path: path, domain: domain }); + document.cookie = cookieName + "=" + (status || "") + "; domain=" + domain + "; path=/"; } else { var lifetime = parseInt(Drupal.settings.eu_cookie_compliance.cookie_lifetime); date.setDate(date.getDate() + lifetime); - $.cookie(cookieName, status, { expires: date, path: path, domain: domain }); + document.cookie = cookieName + "=" + (status || "") + ";" + "expires=" + date + "; domain=" + domain + "; path=/"; } $(document).trigger('eu_cookie_compliance.changeStatus', [status]);