Al seleccionar una opción, se actualiza toda la página.
Se abre en una nueva ventana.
// inicial
document.addEventListener('DOMContentLoaded', scanAndApply);
// re-ejecutar en eventos que actualizan secciones (Shopify sections) o cuando el carrito cambia
document.addEventListener('shopify:section:load', scanAndApply);
document.addEventListener('shopify:section:reorder', scanAndApply);
document.addEventListener('shopify:cart:updated', scanAndApply);
// observer para nodos dinámicos (mini-cart o AJAX)
const bodyObserver = new MutationObserver((mutations) => {
// cuando se agreguen nodos, volver a escanear
for (const m of mutations) {
if (m.addedNodes && m.addedNodes.length) {
scanAndApply();
break;
}
}
});
bodyObserver.observe(document.body, { childList: true, subtree: true });
})();