PluginProbe
CookieAdmin – Cookie Consent Banner / trunk
CookieAdmin – Cookie Consent Banner vtrunk
1.2.4 1.2.3 1.2.2 1.2.1 1.2.0 1.1.9 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
← All changes | assets/js/consent.js +40 -16 1.2.0 → trunk View file →
@@ -205,8 +205,11 @@
205 205 if (!name || !value) return false;
206 206
207 207 if((cookieadmin_policy.is_pro != 0) && (cookieadmin_pro_vars !== 'undefined')){
208 208 if(cookieadmin_pro_vars.shared_subdomain_consent && cookieadmin_pro_vars.base_domain){
209 + // Delete the cookie if exist with the subdomin
210 + // Previously, cookie was set without specifying domain name, we'll not specify domain while deleting.
211 + document.cookie = `cookieadmin_consent=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=${cookieadmin_policy.base_path};`;
209 212 domain = cookieadmin_pro_vars.base_domain;
210 213 }
211 214 }
212 215
@@ -281,9 +284,10 @@
281 284
282 285 if(!card_container){
283 286 continue;
284 287 }
285 - card_container.innerHTML = (card_container.innerHTML == 'None') ? '' : card_container.innerHTML;
288 +
289 + card_container.querySelector(".cookieadmin-nocookie-cat").style.display = 'none';
286 290
287 291 var cookieadmin_exp = cookieadmin_policy.lang.session;
288 292
289 293 if(
@@ -388,9 +392,13 @@
388 392 //Show notice or re-consent icon as needed
389 393 if(!cookieadmin_is_obj(cookieadmin_is_consent) && !cookieadmin_policy.hide_banner){
390 394
391 395 if(cookieadmin_policy.cookieadmin_layout !== "popup"){
392 - document.getElementsByClassName("cookieadmin_law_container")[0].style.display = "block";
396 + var cookieadmin_banner_el = document.getElementsByClassName("cookieadmin_law_container")[0];
397 + if(cookieadmin_banner_el){
398 + cookieadmin_banner_el.style.display = "block";
399 + cookieadmin_banner_el.focus();
400 + }
393 401 }else{
394 402 cookieadmin_toggle_overlay();
395 403 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "flex";
396 404 }
@@ -490,8 +498,10 @@
490 498 if(cookieadmin_policy.cookieadmin_layout == "popup"){
491 499 document.getElementsByClassName("cookieadmin_close_pref")[0].style.display = "none";
492 500 }
493 501
502 + var cookieadmin_modal_el = document.getElementsByClassName("cookieadmin_cookie_modal")[0];
503 +
494 504 //show preference modal
495 505 cookieadmin_show_modal_elemnts = document.querySelectorAll(".cookieadmin_re_consent, .cookieadmin_customize_btn");
496 506 cookieadmin_show_modal_elemnts.forEach(function(e){
497 507
@@ -524,8 +534,10 @@
524 534 document.getElementsByClassName("cookieadmin_close_pref")[0].id = "cookieadmin_re_consent";
525 535 }else{
526 536 document.getElementsByClassName("cookieadmin_close_pref")[0].id = "cookieadmin_law_container";
527 537 }
538 +
539 + cookieadmin_modal_el.focus();
528 540 });
529 541 });
530 542
531 543 //Save preference
@@ -604,24 +616,36 @@
604 616 cookieadmin_set_consent(prefer2, days);
605 617 });
606 618 });
607 619
608 - document.querySelectorAll(".cookieadmin_show_pref_cookies").forEach(function(e){
609 - e.addEventListener("click", function(el){
610 -
611 - var tgt = el.target.id;
612 - tgt = tgt.replace(/-container$/, "");
613 -
614 - if(el.target.classList.contains("dwn")){
615 - el.target.innerHTML = "►";
616 - el.target.classList.remove("dwn");
617 - document.querySelector("."+tgt).style.display = "none";
620 + document.querySelectorAll(".cookieadmin_show_pref_cookies").forEach(function(btn){
621 +
622 + // Shared toggle function
623 + function toggleAccordion(event){
624 + // Use currentTarget to target the element with the listener, even if child nodes are clicked
625 + var trigger = event.currentTarget;
626 + var tgt = trigger.id.replace(/-container$/, "");
627 + var targetEl = document.querySelector("." + tgt);
628 +
629 + if (!targetEl){
630 + return;
631 + };
632 +
633 + if(trigger.classList.contains("dwn")){
634 + trigger.innerHTML = "►"; // Right arrow
635 + trigger.classList.remove("dwn");
636 + trigger.setAttribute("aria-expanded", "false");
637 + targetEl.style.display = "none";
618 638 }else{
619 - el.target.innerHTML = "▼";
620 - el.target.classList.add("dwn");
621 - document.querySelector("."+tgt).style.display = "block";
639 + trigger.innerHTML = "▼"; // Down arrow
640 + trigger.classList.add("dwn");
641 + trigger.setAttribute("aria-expanded", "true");
642 + targetEl.style.display = "block";
622 643 }
623 - });
644 + }
645 +
646 + // 2. Native buttons fire click on mouse, Enter and Space
647 + btn.addEventListener("click", toggleAccordion);
624 648 });
625 649
626 650 document.getElementsByClassName("cookieadmin_close_pref")[0].addEventListener("click", function(e){
627 651 document.getElementsByClassName("cookieadmin_cookie_modal")[0].style.display = "none";