Benutzerdefinierte Schaltfläche
Wenn Sie eine benutzerdefinierte An-/Abmelde-Schaltfläche mit Ihrem eigenen Design integrieren möchten, können Sie dies tun.
Dies sind die offengelegten Pixelfunktionen, die Sie in Ihrem JS-Code für eine benutzerdefinierte Integration verwenden können:
await sitepush.get_subscription_status(); await sitepush.subscribe(); await sitepush.unsubscribe();
Hier ist ein Beispiel für die Code-Integration, die diese benutzerdefinierten JS-Funktionen verwendet:
<span id="pusher_loading">Loading status...</span>
<a href="#" id="pusher_subscribe" style="display: none;">Subscribe ✅</a>
<a href="#" id="pusher_unsubscribe" style="display: none;">Unsubscribe ❌</a>
<script defer>
let initiate_pusher_script = async () => {
if(typeof pusher !== 'undefined') {
clearInterval(pusher_is_loaded_interval);
/* Get status of subscription */
let status = await sitepush.get_subscription_status();
/* Remove loading message */
document.querySelector('#pusher_loading').style.display = 'none';
/* Display subscribe or unsubscribe button based on the current subscription status */
if(status) {
document.querySelector('#pusher_unsubscribe').style.display = 'block';
document.querySelector('#pusher_subscribe').style.display = 'none';
} else {
document.querySelector('#pusher_unsubscribe').style.display = 'none';
document.querySelector('#pusher_subscribe').style.display = 'block';
}
}
}
let pusher_is_loaded_interval = setInterval(initiate_pusher_script, 100);
/* Attach simple subscribe event */
document.querySelector(`#pusher_subscribe`) && document.querySelector(`#pusher_subscribe`).addEventListener('click', async event => {
event.preventDefault();
await sitepush.subscribe(event);
initiate_pusher_script();
});
/* Attach simple unsubscribe event */
document.querySelector(`#pusher_unsubscribe`) && document.querySelector(`#pusher_unsubscribe`).addEventListener('click', async event => {
event.preventDefault();
await sitepush.unsubscribe(event);
initiate_pusher_script();
});
</script>