יום שבת, 7 במרץ 2026
טוען מזג אוויר...
תגית

הסתדרות

10 פוסטים
ארנון הקפלניסט
בארץ

ארנון הקפלניסט

בעת שישראל נתונה במה שרבים תופסים כמצב מלחמה, החלטתו של ארנון לבקר בפומבי את ראש הממשלה נתניהו ואת ממשלתו, תוך שהוא גם תומך בבחירות מיידיות, היא צעד שהצית דיון...

די לשרלטנות של ארנון בר דוד
בארץ

די לשרלטנות של ארנון בר דוד

הנוף הפוליטי בישראל אינו זר למחלוקות ולדיונים סוערים. אחד הנושאים שמעוררים אמוציות וסכסוכים נוגע לחברי הליכוד, ובפרט לחברי סיעת הליכוד ועוז. חברים אלה קוראים...

רעל בעורקי המדינה
כללי

רעל בעורקי המדינה

חרוזי הרעל, שופטים, גנרלים, הסתדרות, וערוצי התרעלה. חיים כץ ,רועי שרעבי ופנחס עידן משרתים את מתנגדי הרפורמה. מערכת הסברה של נתניהו נכשלה כי הם מרעילים את...

בדיוק עכשיו עבור העצמאים 
בארץ

בדיוק עכשיו עבור העצמאים 

כולם יודעים ואין ספק על כך : העצמאים הם הסקטור שנפגע בצורה הכי קשה בימי הקורונה. גם ככה קשה לעצמאים עד בלתי אפשרי בימי שגרה לנהל את עסקיהם והדבר רק החריף. אז...

כל מזיק, מלך
טור אישי

כל מזיק, מלך

כמו עמיר פרץ לפניו, גם עוצמתו וכוחו של עופר עיני נגזרים מהיכולת שלו לגרום נזקים. זה לא מצוקת עובדי הקבלן שדוחפת לשביתה כללית במשק, זה הבחירות. האם מצוקת עובדי...

מי שפחד מכבל יקבל את פרץ
כללי

מי שפחד מכבל יקבל את פרץ

אהוד ברק ועופר עיניהמלך המפוספס סילבן , פייגלין או שבח, מזרחי שוטר או שוטה, מבחן לפיד לבוזגלו, עמיר פרץ רוץ, חיים ביבס שאפו ימין ליכודי מפוצל פייגלין או שבח?...

\n \n "},{"key":"google_tag_manager","name":"Google Tag Manager","category":"analytics","script":"\n \n \n \n \n "},{"key":"microsoft_clarity","name":"Microsoft Clarity","category":"analytics","script":"\n \n \n "}]}; const LOADED_SCRIPTS = {}; // Get stored consent function getConsent() { try { const stored = localStorage.getItem(CONSENT_KEY); if (stored) { const consent = JSON.parse(stored); if (consent.version === CONSENT_VERSION) { return consent; } } } catch (e) {} return null; } // Save consent function saveConsent(preferences) { const consent = { version: CONSENT_VERSION, timestamp: Date.now(), preferences: preferences }; localStorage.setItem(CONSENT_KEY, JSON.stringify(consent)); // Dispatch event for other scripts to react window.dispatchEvent(new CustomEvent('cookieConsentChanged', { detail: consent })); // Load scripts based on new consent loadTrackingScripts(preferences); } // Load tracking scripts based on consent function loadTrackingScripts(preferences) { if (!TRACKING_CONFIG || !TRACKING_CONFIG.services) return; TRACKING_CONFIG.services.forEach(function(service) { // Skip if already loaded if (LOADED_SCRIPTS[service.key]) return; // Check if user consented to this category if (!preferences[service.category]) { console.log('[Tracking] Skipping ' + service.name + ' - no consent for ' + service.category); return; } // Load the script console.log('[Tracking] Loading ' + service.name); LOADED_SCRIPTS[service.key] = true; // Create a container for the scripts var container = document.createElement('div'); container.innerHTML = service.script; // Process script tags (they won't execute if just innerHTML'd) var scripts = container.querySelectorAll('script'); scripts.forEach(function(oldScript) { var newScript = document.createElement('script'); // Copy attributes Array.from(oldScript.attributes).forEach(function(attr) { newScript.setAttribute(attr.name, attr.value); }); // Copy inline script content if (oldScript.innerHTML) { newScript.innerHTML = oldScript.innerHTML; } // Append to head document.head.appendChild(newScript); }); // Handle noscript content (for pixels that have noscript fallbacks) var noscripts = container.querySelectorAll('noscript'); noscripts.forEach(function(ns) { // Append noscript content as-is to body var div = document.createElement('div'); div.innerHTML = ns.innerHTML; document.body.appendChild(div); }); }); } // Show banner function showBanner() { const banner = document.getElementById('cookie-consent-banner'); if (banner) { banner.style.display = 'block'; } } // Hide banner function hideBanner() { const banner = document.getElementById('cookie-consent-banner'); if (banner) { banner.style.display = 'none'; } } // Show modal function showModal() { const modal = document.getElementById('cookie-settings-modal'); if (modal) { modal.style.display = 'flex'; document.body.style.overflow = 'hidden'; // Load current preferences const consent = getConsent(); if (consent) { document.getElementById('cookie-analytics').checked = consent.preferences.analytics; document.getElementById('cookie-marketing').checked = consent.preferences.marketing; } } } // Hide modal function hideModal() { const modal = document.getElementById('cookie-settings-modal'); if (modal) { modal.style.display = 'none'; document.body.style.overflow = ''; } } // Accept all cookies function acceptAll() { saveConsent({ essential: true, analytics: true, marketing: true }); hideBanner(); hideModal(); } // Accept essential only function acceptEssential() { saveConsent({ essential: true, analytics: false, marketing: false }); hideBanner(); hideModal(); } // Save custom preferences function savePreferences() { saveConsent({ essential: true, analytics: document.getElementById('cookie-analytics').checked, marketing: document.getElementById('cookie-marketing').checked }); hideBanner(); hideModal(); } // Initialize function init() { const consent = getConsent(); if (!consent) { // No consent yet, show banner showBanner(); } else { // Consent exists, load allowed scripts loadTrackingScripts(consent.preferences); } // Event listeners document.getElementById('cookie-accept-all')?.addEventListener('click', acceptAll); document.getElementById('cookie-accept-essential')?.addEventListener('click', acceptEssential); document.getElementById('cookie-settings')?.addEventListener('click', showModal); document.getElementById('cookie-modal-close')?.addEventListener('click', hideModal); document.getElementById('cookie-save-preferences')?.addEventListener('click', savePreferences); // Close modal on overlay click document.querySelector('.cookie-modal-overlay')?.addEventListener('click', hideModal); // Close modal on Escape key document.addEventListener('keydown', function(e) { if (e.key === 'Escape') { hideModal(); } }); } // Run when DOM is ready if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); } // Expose API for other scripts window.CookieConsent = { getConsent: getConsent, showBanner: showBanner, showSettings: showModal, hasConsent: function(type) { const consent = getConsent(); return consent && consent.preferences[type]; }, // Allow manual reload of scripts (e.g., after settings change) reloadScripts: function() { const consent = getConsent(); if (consent) { loadTrackingScripts(consent.preferences); } } }; })();