window.dataLayerPYS = window.dataLayerPYS || [];
console.log('PixelYourSite PRO version 12.6.6');
var breeze_prefetch = {"local_url":"https://www.canadiansavers.ca","ignore_remote_prefetch":"1","ignore_list":["/how-to-earn-points/","/login/","/profile/","/forgot-password/","/profile/my-brands/","/profile/my-categories/","/profile/my-stores/","/sign-up/","wp-admin","wp-login.php"]};
//# sourceURL=breeze-prefetch-js-extra
https://www.canadiansavers.ca/wp-content/plugins/breeze/assets/js/js-front-end/breeze-prefetch-links.min.js
var pysTikTokRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-tiktok/v1/event","debug":""};
var pysOpenAIRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-openai/v1/event","debug":""};
var pysFacebookRest = {"restApiUrl":"https://www.canadiansavers.ca/wp-json/pys-facebook/v1/event","debug":""};
//# sourceURL=jquery-core-js-extra
(function(w,d,e,u,f,l,n){w[f]=w[f]||function(){(w[f].q=w[f].q||[])
.push(arguments);},l=d.createElement(e),l.async=1,l.src=u,
n=d.getElementsByTagName(e)[0],n.parentNode.insertBefore(l,n);})
(window,document,'script','https://assets.mailerlite.com/js/universal.js','ml');
ml('account', '230245');
ml('enablePopups', true);
jQuery(document).ready(function($) {
// Notification function
function showNotification(message) {
const container = $('.tfs-notification-container');
const notification = $(`
<div class="tfs-notification">
<span class="tfs-notification-icon">
<svg viewBox="0 0 24 24" width="16" height="16">
<polyline points="20 6 9 17 4 12" fill="none" stroke="white" stroke-width="2"/>
</svg>
</span>
<span class="tfs-notification-message">${message}</span>
</div>
`);
container.append(notification);
notification[0].offsetHeight;
setTimeout(() => {
notification.addClass('show');
}, 10);
setTimeout(() => {
notification.removeClass('show');
setTimeout(() => {
notification.remove();
}, 300);
}, 3000);
}
// Handle Select All button
$('.select-all-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', true);
});
// Handle Select None button
$('.select-none-button').on('click', function() {
const $form = $(this).closest('form');
$form.find('input[type="checkbox"]').prop('checked', false);
});
// Handle search functionality
let searchTimeout;
$('.taxonomy-search-input').on('input', function() {
const $input = $(this);
const $container = $input.closest('.taxonomy-follow-list');
clearTimeout(searchTimeout);
searchTimeout = setTimeout(function() {
const searchTerm = $input.val().toLowerCase();
const $items = $container.find('.taxonomy-item');
const $noTerms = $container.find('.no-terms-message');
let visibleItems = 0;
$items.each(function() {
const termName = $(this).data('term-name');
if (termName.includes(searchTerm)) {
$(this).show();
visibleItems++;
} else {
$(this).hide();
}
});
if (visibleItems === 0) {
$noTerms.show();
} else {
$noTerms.hide();
}
}, 300);
});
// Handle accordion toggles
$('.accordion-toggle').on('click', function(e) {
e.preventDefault();
const $button = $(this);
const $content = $button.closest('.followed-item-header').next('.accordion-content');
const isExpanded = $button.attr('aria-expanded') === 'true';
$button.attr('aria-expanded', !isExpanded);
if (!isExpanded) {
$content.prop('hidden', false);
const $item = $button.closest('.followed-item');
const termId = $item.data('term-id');
const taxonomy = $item.data('taxonomy');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: 'update_last_visit',
term_id: termId,
taxonomy: taxonomy,
nonce: 'bd017affde'
}
});
} else {
$content.prop('hidden', true);
}
});
// Form submission handler: regular POST submit, no AJAX
$('.taxonomy-follow-form').off('submit').on('submit', function() {
const $form = $(this);
const $button = $form.find('.follow-taxonomy-button');
$button.prop('disabled', true).text('Updating...');
});
const $stickyCta = $('.tfs-sticky-cta');
let activeStickyButton = null;
function isMobileTfs() {
return window.matchMedia('(max-width: 767px)').matches;
}
function getActiveLauncher() {
const $launchers = $('.tfs-add-button-wrapper:visible');
if (!$launchers.length) {
return null;
}
let best = null;
let bestTop = Number.POSITIVE_INFINITY;
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || 0;
$launchers.each(function() {
const rect = this.getBoundingClientRect();
const absoluteTop = rect.top + scrollTop;
if (absoluteTop < bestTop) {
bestTop = absoluteTop;
best = this;
}
});
return best;
}
function setStickyButtonFromLauncher(launcher) {
if (!launcher || !$stickyCta.length) {
return;
}
const button = launcher.querySelector('.tfs-open-modal-button');
if (!button) {
return;
}
const modalTarget = button.getAttribute('data-tfs-modal-target') || '';
if (activeStickyButton === modalTarget && $stickyCta.children().length) {
return;
}
activeStickyButton = modalTarget;
const clone = button.cloneNode(true);
clone.classList.add('tfs-sticky-open-modal-button');
$stickyCta.empty().append(clone);
}
function updateStickyCta() {
if (!$stickyCta.length) {
return;
}
if (!isMobileTfs()) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
if ($('.tfs-modal-overlay.is-open').length) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true');
$('body').removeClass('has-tfs-sticky-cta');
return;
}
const launcher = getActiveLauncher();
if (!launcher) {
$stickyCta.removeClass('is-visible').attr('aria-hidden', 'true').empty();
$('body').removeClass('has-tfs-sticky-cta');
activeStickyButton = null;
return;
}
setStickyButtonFromLauncher(launcher);
const rect = launcher.getBoundingClientRect();
const shouldShow = rect.bottom < 0 || rect.top > (window.innerHeight - 80);
$stickyCta.toggleClass('is-visible', shouldShow)
.attr('aria-hidden', shouldShow ? 'false' : 'true');
$('body').toggleClass('has-tfs-sticky-cta', shouldShow);
}
$(window).on('scroll resize orientationchange load', updateStickyCta);
$(document).on('click', '.tfs-sticky-cta .tfs-open-modal-button', function() {
setTimeout(updateStickyCta, 20);
});
setTimeout(updateStickyCta, 50);
// Individual follow button handler
$('.tfs-follow-button').on('click', function(e) {
if (!$(this).hasClass('follow-taxonomy-button')) {
e.preventDefault();
var $button = $(this);
var termId = $button.data('term-id');
var taxonomy = $button.data('taxonomy');
var action = $button.data('action');
$.ajax({
url: 'https://www.canadiansavers.ca/wp-admin/admin-ajax.php',
type: 'POST',
data: {
action: action,
term_id: termId,
taxonomy: taxonomy,
nonce: 'bd017affde'
},
beforeSend: function() {
$button.prop('disabled', true).addClass('loading');
},
success: function(response) {
if (response.success) {
if (response.data.is_following) {
$button.addClass('is-following')
.data('action', 'unfollow_term');
showNotification('Successfully followed!');
} else {
$button.removeClass('is-following')
.data('action', 'follow_term');
showNotification('Successfully unfollowed');
}
// Reload page after a short delay
setTimeout(function() {
window.location.reload();
}, 1500);
} else {
alert('Action failed. Please try again.');
}
},
error: function() {
alert('An error occurred. Please try again.');
},
complete: function() {
$button.prop('disabled', false).removeClass('loading');
}
});
}
});
});
document.documentElement.className += " js";
(function(g,o){g[o]=g[o]||function(){(g[o]['q']=g[o]['q']||[]).push(
arguments)},g[o]['t']=1*new Date})(window,'_googCsa');
(function() {function signalGooglefcPresent() {if (!window.frames['googlefcPresent']) {if (document.body) {const iframe = document.createElement('iframe'); iframe.style = 'width: 0; height: 0; border: none; z-index: -1000; left: -1000px; top: -1000px;'; iframe.style.display = 'none'; iframe.name = 'googlefcPresent'; document.body.appendChild(iframe);} else {setTimeout(signalGooglefcPresent, 0);}}}signalGooglefcPresent();})();
window.pushMST_config={"vapidPK":"BPXoRQolBdaYgbUv5xasrzRIkdVBsxyQ5qCGGAJgqiEAYVeWlVWos21eT1pHT1Ve4H0LoT2UlGbN5N78rDeHAz4","enableOverlay":true,"swPath":"/sw.js","i18n":{}};
var pushmasterTag = document.createElement('script');
pushmasterTag.src = "https://cdn.pushmaster-cdn.xyz/scripts/publishers/648adb4fc6ef390008e58b83/SDK.js";
pushmasterTag.setAttribute('defer','');
var firstScriptTag = document.getElementsByTagName('script')[0];
firstScriptTag.parentNode.insertBefore(pushmasterTag, firstScriptTag);
(function(){
var loc = window.location.href;
var dd = document.createElement('script');
dd.type = 'text/javascript'; dd.src = '//static.digidip.net/canadiansavers.js?loc=' + loc;
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(dd, s);
})();
McDonald’s App Deals Canada
Looking for the latest McDonald’s app deals in Canada ? ,McDonald’s may offer exclusive discounts and promotions through its official mobile app at participating Canadian locations throughout September 2026
How to get this deal
Download the free McDonald’s app on Android or on Apple Store
Sign in or create an account
Check the “Deals” section for available offers
Redeem the deal in-store or through the app
📌 App deals change frequently and are usually limited to one use per customer .
Conditions
Valid at participating locations in Canada
App required
Availability may vary by region
👉 See all McDonald’s coupons and deals available in Canada
(adsbygoogle = window.adsbygoogle || []).push({});
(function() {
function getUTM(param) {
const urlParams = new URLSearchParams(window.location.search);
return urlParams.get(param) || '';
}
// Hook global gtag
if (typeof gtag !== 'undefined') {
const originalGtag = gtag;
window.gtag = function() {
// arguments = ['event', 'AdSense', {...}]
if (arguments[0] === 'event' && arguments[1] === 'AdSense') {
let params = arguments[2] || {};
// Override avec les vraies valeurs URL
params.utm_campaign = getUTM('utm_campaign');
params.utm_source = getUTM('utm_source');
params.utm_medium = getUTM('utm_medium');
params.utm_content = getUTM('utm_content');
arguments[2] = params;
}
return originalGtag.apply(this, arguments);
};
}
})();
(function() {
if (window.innerWidth > 767) return;
let shown = false;
window.addEventListener('scroll', function() {
if (shown) return;
document.querySelectorAll('.sidebar-widget-mobile-delay').forEach(el => {
el.style.display = '';
});
shown = true;
}, { passive: true });
})();
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/js.cookie-2.1.3.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/sha256.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/tld.min.js
https://www.canadiansavers.ca/wp-content/plugins/pixelyoursite-pro/dist/scripts/public.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/inview.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/pgwmodal.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/unveil.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/hoverintent.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/countdown.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/custom.js
jQuery(document).ready(function($) {
var retina = window.devicePixelRatio > 1 ? true : false;
if(retina) {
jQuery(".logo_image img").attr("src", "https://www.canadiansavers.ca/wp-content/uploads/2025/08/canadian-savers-logo.webp");
}
});
//# sourceURL=rehub-js-after
https://www.canadiansavers.ca/wp-includes/js/comment-reply.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/userlogin.js
https://www.canadiansavers.ca/wp-content/themes/rehub-theme/js/bettercategory.js