Codice per siti non WordPress

Il codice è composto da due parti: l'iFrame vero e proprio e uno script utile a far comunicare il modulo con la pagina che lo ospita (per ottimizzarne l'integrazione).

Scelta dello script

Se il modulo del tuo ristorante prevede anche la vendita di prodotti (o contestualmente alla prenotazione oppure sotto forma di voucher o prodotti acquistabili separatamente) dovrai installare la versione dello script "con vendita prodotti". Ricordati di comunicarci su quale sito web pubblicherai il modulo. In questo caso lo script gestisce sia i locali con la vendita dei prodotti che quelli senza (non servono due script distinti).

Codici da copiare

E' necessario sostituire "nomebrevedellocale" con il nome che è stato comunicato (corrisponde a quello del link con cui si accede all'applicazione per gestire le prenotazioni).

Personalizza automaticamente i codici prima di copiarli, inserisci qui il nome breve del locale:

Codice base per l'iFrame

<iframe src="https://nomebrevedellocale.prenota-web.it/prenotazioni/?iframe=1&lang=it" allowfullscreen style="border:0;width:100%;" id="iFramePrenota" ></iframe>

Script standard

Se il vostro sito ha una barra di navigazione sempre visibile in alto (anche quando si scrolla), la cosiddetta "sticky bar", è opportuno valorizzare anche la variabile offsetH inserendo il valore dell'altezza della barra in pixel (es. 100).

	
<script>
	function adatta (evt) {
            var offsetH=0;
            if (evt.origin !== 'https://nomebrevedellocale.prenota-web.it') {
                message = 'Dominio non autorizzato';
            }
            else {
                var iFrameID = document.getElementById('iFramePrenota');
                if(iFrameID) {
                    iFrameID.style.border = '0';
                    iFrameID.style.width = '100%';
                    iFrameID.style.marginBottom = '1500px';
                    var myHeight=evt.data.toString();
                    if (evt.data=='top') {
                        var mytop=iFrameID.getBoundingClientRect().top + window.pageYOffset - iFrameID.ownerDocument.documentElement.clientTop - offsetH;
                        document.documentElement.scrollTop = mytop;
                        iFrameID.style.marginBottom = '0';
                    } else if (myHeight.substring(0, 6)=='middle') {
                        var mytop=iFrameID.getBoundingClientRect().top + window.pageYOffset - iFrameID.ownerDocument.documentElement.clientTop - offsetH;
                        iFrameID.style.height = window.innerHeight + 'px';
                        iFrameID.style.marginBottom = '0';
                        window.scrollTo(0, mytop);
                    } else {
                        iFrameID.style.height = evt.data + 'px';
                        iFrameID.style.marginBottom = '0';
                    }
                }  
            }
        }
        if (window.addEventListener) {
            // For standards-compliant web browsers
            window.addEventListener('message', adatta, false);
        }
        else {
            window.attachEvent('onmessage', adatta);
        }
</script>

	

Script con vendita prodotti

	
<script>

    
	var cumulativeOffset = function(element) {
		var top = 0, left = 0;
		do {
			top += element.offsetTop  || 0;
			left += element.offsetLeft || 0;
			element = element.offsetParent;
		} while(element);

		return {
			top: top,
			left: left
		};
	};
	window.onscroll = function() {contatta()};
	function contatta() {
		var mySite = document.documentElement;
		var mySiteTop = (window.pageYOffset || mySite.scrollTop)  - (mySite.clientTop || 0);
		var iframeP = document.getElementById('iFramePrenota');
		if (document.contains(iframeP)) {
			var iframeTop= cumulativeOffset(iframeP).top;
			var segui=0;
			if ((mySiteTop - iframeTop)>0) {
				segui=mySiteTop - iframeTop + 150;
				iframe = document.getElementById('iFramePrenota'); 
				iframe.contentWindow.postMessage(segui, 'https://nomebrevedellocale.prenota-web.it');
			}
		}
	};
	function adatta (evt) {
			var offsetH=200;
			if (evt.origin !== 'https://nomebrevedellocale.prenota-web.it') {
				message = 'Dominio non autorizzato';
			}
			else {
				var iFrameID = document.getElementById('iFramePrenota');
				if(iFrameID) {
					iFrameID.style.border = '0';
					iFrameID.style.width = '100%';
					iFrameID.style.marginBottom = '1500px';
					var myHeight=evt.data.toString();
					if (evt.data=='top') {
						var mytop=iFrameID.getBoundingClientRect().top + window.pageYOffset - iFrameID.ownerDocument.documentElement.clientTop - offsetH;
						document.documentElement.scrollTop = mytop;
						iFrameID.style.marginBottom = '0';
					} else if (myHeight.substring(0, 6)=='middle') {
						var mytop=iFrameID.getBoundingClientRect().top + window.pageYOffset - iFrameID.ownerDocument.documentElement.clientTop - offsetH;
						iFrameID.style.height = window.innerHeight + 'px';
						iFrameID.style.marginBottom = '0';
						window.scrollTo(0, mytop);
					} else {
						iFrameID.style.height = evt.data + 'px';
						iFrameID.style.marginBottom = '0';
					}
				}   
			}
		}
		if (window.addEventListener) {
			// For standards-compliant web browsers
			window.addEventListener('message', adatta, false);
		}
		else {
			window.attachEvent('onmessage', adatta);
		}
	
</script>
	
	
Prenota-Web
powered by E-Group Srl ©2022
Via Enrico Fermi, 9
35136 Padova (PD)
tel. 049 8705403 cel. +393203747243
P.I. 03461800280
info@prenota-web.it