Popup verlaten website
Nu een vraag wat niemand wil hebben ( heb er zelf ook een hekel aan )
Maar hoe kan ik het voor elkaar krijgen om een popup te krijgen als iemand de site verlaat..
Ik heb ondertussen een scriptje gejat die ervoor zorgt dat ik 1 malig maar een popup krijg.. Dan nu mijn probleem, nu word de popup actief met een "onunload" maar dit gebeurd iedere keer als je naar een andere pagina gaat.. Hoe krijg ik het voor elkaar dat het alleen gebeurd wanneer men op kruisje klikt/ naar een ander webadres surft ?
Het script staat hieronder
Harstikke bedankt voor de aandacht in dit topic, hopelijk kan je me helpen
Groeten,
Jens
var expDays = 1; // number of days the cookie should last
var page = "only-popup-once.html";
var windowprops = "width=300,height=200,location=no,toolbar=no,menubar=no,scrollbars=no,resizable=yes";
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
function DeleteCookie (name) {
var exp = new Date();
exp.setTime (exp.getTime() - 1);
var cval = GetCookie (name);
document.cookie = name + "=" + cval + "; expires=" + exp.toGMTString();
}
var exp = new Date();
exp.setTime(exp.getTime() + (expDays*24*60*60*1000));
function amt(){
var count = GetCookie('count')
if(count == null) {
SetCookie('count','1')
return 1
} else {
var newcount = parseInt(count) + 1;
DeleteCookie('count')
SetCookie('count',newcount,exp)
return count
}
}
function getCookieVal(offset) {
var endstr = document.cookie.indexOf (";", offset);
if (endstr == -1)
endstr = document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function checkCount() {
var count = GetCookie('count');
if (count == null) {
count=1;
SetCookie('count', count, exp);
window.open(page, "", windowprops);
} else {
count++;
SetCookie('count', count, exp);
}
}
window.onunload=checkCount;
Gewijzigd op 31/01/2011 10:26:29 door Jens B
Een simpele alert() kan ik me nog voorstellen, als je bijvoorbeeld nog vergeten bent iets op te slaan, maar een popup? blegh..
Je verlaat de pagina en of dat nu is door een andere pagina van de website te bezoeken, een kruisje te klikken, je browser af te sluiten etc. maakt niet uit. Voor de website is er geen verschil.
Merijn Venema op 31/01/2011 10:34:21:
Uiteraard ga ik je niet helpen, dit is echt de slechtste usability die je je maar voor kunt stellen!
Ik ben het er mee eens, maar je zou het op een andere manier kunnen oplossen. Door een pop-under te maken... een venster wat onder het huidige venster verschijnt. Als men dan het huidige venster sluit, staat daaronder het andere venster. Maar of dat wenselijk is, die afweging laat ik graag aan jou over ;)
Daarnaast, pop-ups worden over het algemeen geladen in een nieuw venster, niet in een nieuwe tab, altans, op m`n pc`s gebeurt dit altijd. Als er iets irritant is, is het moeten schakelen tussen vensters.
een kruisje klikken is normaal gedrag, maar wat als daar in een keer andere dingen aan gekoppeld worden, zoals een pop-up?
trouwens..
Merijn ik sta achter je punt dat een popup niemand wil hebben ..
Wel vreemd dat je een simpele alert wel oke vind ? Terwijl dat 10 maal erger is, dan ben je namelijk echt verplicht om de alert weg te klikken voordat je verder iets kan doen in een browser ..
Maargoed, nogmaals ik snap dat het niet echt vriendelijk is zo'n popupje ..;
Toch vraag ik me af.. hoe ?
Waarom wil je het zo graag als je zelf weet dat het niet netjes is?
en trouwens dat van die enter, dat weten wij hier op deze website..
Die andere 80% die op internet surft weet dat niet.. ( ik denk even aan mijn ouders )
Maar dat hoeft geen welles nietus discussie te worden dat van die alert en popup .. :D allebei verschrikkelijk dat weet ik zelf ook wel .. :D
Wie weet ga ik het wel oplossen met een divje wat zichtbaar word als een klant voor een 2e keer inlogt ..
Gewijzigd op 31/01/2011 11:01:34 door Jens B
Overigens zal een popup niet helpen omdat die zo goed als weggeschoten worden door menig popupblocker. En dat is al één reden... :-)
- Aar - op 31/01/2011 11:00:18:
Helemaal mee eens... alleen soms staat er iemand boven je en die moet en die zal... je kunt dan wel telkens blijven aangeven dat het geen goede oplossing is, maar sommige mensen zijn eigenwijs en op een gegeven moment houdt het dan gewoon op.Praat met diegene erover dat het niet gewenst is. Ook een programmeur moet door de bril van de 'usability' kijken, vind ik. Vertel hem eens de consequenties hiervan, en zoek een betere oplossing die niet annoying is.
..totdat je ze met hun neus op de feiten drukt.....
Als programmeur ben je zelf verantwoordelijk voor wat je maakt, opdracht of niet.
Daarnaast moet je eens vragen of die graag een nieuwe website zonder gebruikers wil hebben.
Gewijzigd op 31/01/2011 11:19:10 door TJVB tvb
Ik merk dat ik geen succes ga krijgen met dit topic ( ik begrijp het wel ;)) ..
Toch bedankt voor de moeite en tijd die erin gestoken is .. Laten we dit topic vergeten/sluiten!
Lees mijn opmerking van 10:50 uur.
Leuke tip ! Leuke oplossing om aan mijn baas door te geven.
En dat is voor mij makkelijker te realiseren.
Bedankt voor de tip !
Graag gedaan! ;-)