Parole chiave popolari
Articolo di supporto
Totale Risultati
Nessun record trovato
Aggiungere JavaScript Reset
Breve e dolce
È possibile utilizzare la funzione Add JavaScript Reset per rimuovere il codice JavaScript aggiunto. Questa funzione è particolarmente utile per le applicazioni a pagina singola (SPA), se l'applicazione non forza il caricamento di una nuova pagina quando si passa da una pagina all'altra. Di conseguenza, le modifiche JavaScript rimangono visibili nella nuova pagina, anche se il target dell'esperimento non è più applicabile. La funzione di ripristino di JavaScript viene eseguita poco prima del passaggio alla nuova pagina.
Esempio di applicazione per JavaScript Reset
Un banner viene creato con JavaScript e deve essere consegnato su una pagina specifica. Quando la pagina viene cambiata, il banner viene comunque consegnato, nonostante il targeting della pagina non sia più applicabile.
Viene utilizzato il seguente codice JavaScript:
window.varify?.helpers?.waitFor('main', (main) => {
if (!main || document.querySelector('.demo-banner')) return;
const css = `.demo-banner{box-sizing:border-box;max-width:800px;margin:12px auto;padding:12px 40px 12px 12px;background:#f33;color:#fff;border-radius:6px;font:14px/1.4 system-ui,sans-serif;position:relative}
.demo-banner .close{position:absolute;top:6px;right:8px;border:0;background:transparent;color:#fff;font-size:18px;cursor:pointer;line-height:1}
.demo-banner a{color:#fff;text-decoration:underline}`;
const style = document.createElement('style');
style.textContent = css;
document.head.appendChild(style);
const html = `
Dummy Banner — Placeholder text. Learn more
`;
main.insertAdjacentHTML('beforebegin', html);
const banner = document.querySelector('.demo-banner');
banner.querySelector('.close').addEventListener('click', () => banner.remove());
});
È possibile utilizzare il seguente codice di ripristino JavaScript per garantire che il banner venga rimosso prima del cambio di pagina:
const elementsToRemove = document.querySelectorAll('#systemchange-styles, .systemchange');
[...elementsToRemove].forEach(element => element.remove());