Jag skulle vilja ha en funktion som på något sätt promptar en användare som är på väg att lämna en viss sida. Har hittat tre olika alternativ, inget är helt optimalt beroende på hur användaren väljer att lämna sidan, så då är frågan om det går att lösa på något annat smidigt sätt.
Det här har jag kommit fram till så här långt:
Lightboxvarianten, det är den variant jag just nu förespråkar då den dels går att designa efter eget behag men också fylla med formulär så att slutanvändaren kan lämna uppgifter, vilket är ett av syftena med att prompta överhuvudtaget. Nackdelen är att den blir meninglös om användaren stänger ner fönstret/fliken eller knappar in en annan URL direkt i adressfältet. Dock borde den väl fungera om man exempelvis väljer att klicka på en länk på den aktuella sidan. Jag är osäker.
Popupfönster är ju alltid "populärt" och går ju också att designa om än inte lika snyggt som lightboxvarianten. Men såklart då, har du en popdödare så blir även den här varianten meninglös. I övrigt aktuell då fönstret går att fylla med vad man vill, i det här fallet ett formulär.
Systemmeddelande. Hårt och brutalt, ruta som "låser" webbläsaren tills användaren gjort ett val. "Du är på väg att lämna sidan, är du säker? JA eller NEJ". Nackdelen är att den för det första tenderar att bli ful och det går inte heller lägga in ett formulär. I övrigt kan den ju styras att dyka upp när man minst anar det, om man exempelvis stänger ner en flik eller dylikt.
Har jag missat något? Kom gärna med förslag på hur det här kan lösas på ett smidigare och bättre sätt än mina föreslagna. Tack på förhand!
Jag byggde en sån här lösning åt en kund för ett tag sen som har visat sig fungera helt okej. Jag satt och funderade över olika lösningar fram och tillbaka och det slutade med att jag byggde en egen med hjälp av jQuery.
Fungerar så att det ligger två stycken <div>-taggar som är 100% breda och 15px höga i fönstrets övre kant. Dom ligger alltså under varann så det första har position från top 0px och den andra på 15px, direkt under.
När musen förs upp t.ex. mot krysset eller något annat flik, så passerar man först den undre diven. En variabel sätts till värde 2. När musen går över den övre och om värdet är 2, så öppnas en lightboxliknande pryl.
Anledningen till 2st divar är att det här gör att rutan _bara_ aktiveras då musen förs nedifrån och upp. Sen har vi även möjlighet att sätta en tid, som gör att besökaren måste ha varit på sidan i t.ex. 10 sekunder för att prompten ska aktiveras.
Har visat sig mycket användbart det här, nackdelen är ju dom som inte kör med javascript, men det är sån liten andel användare, samt att så mycket annat inte heller fungerar då.
Går det sätta fler krav på en sådan lösning? Exempelvis om användaren fyllt i minst ett fält på sidan? Det här rör sig alltså om en sida för avtalstecknande, och man vill fånga upp kunderna som lämnar sidan utan att ha fyllt i formuläret komplett.
Av de tre alternativen så är det i praktiken bara #3 som kan stoppa stängningen av sidan. Dock blir det ju fult som stryk...
Skulle du inte ha vaskat fram kod för detta så följer ett exempel nedan.
<script type="text/javascript">
window.onbeforeunload = function (e) {
var message = "Hörrö du du du! Du kan väl inte sticka bara så där?";
var e = e || window.event;
e.returnValue = message;
}
</script>