Avatar billede flushout Nybegynder
30. september 2004 - 15:11 Der er 7 kommentarer og
1 løsning

Flere problemer med body onunload og window.location

Hejsa!

Jeg sidder og laver en exit-analyse og jeg har lidt problemer med onunload og substring! =/

Min onunload skal tjekke om en session er sat og om en cookie er sat, hvis begge findes og den besøgende vil enten lukke vinduet eller gå til en anden side, skal popup'en åbnes.

roenving gav mig en løsning på dette første problem ( takker!-) og den virker også fint. Dog reagerer den på alt. Lige fra refresh til click på anchors, interne links osv. for at omgå dette problem har jeg forsøgt at indsætte et tjek på hvilken url man vil åbne.

Der er dog noget galt ... der kommer aldrig noget popup vindue frem =/ her er koden:

-----------------

<?
  // Two random values, simulerer min session og min cookie
  setcookie("mail","mail",time()+99999);
  $fisk = "test";
?>
<html>
<head>
<title>Test af Exitanalyse popup</title>

<script type="text/javascript">
function getSubString(){
        return(window.location.toString().substring(7,24) == 'www.mydomain.dk');
}
</script>

</head>

<body onunload="if(<?=isset($_COOKIE['mail'])?> && <?=isset($fisk)?> && !getSubString())window.open('kupon.php','Exitanalyse');">

<!-- DIVERSE LINKS TIL TEST FORMÅL -->
<a href="index.html" target="_self">Link til mig selv</a><br>
<a href="http://www.google.com" target="_blank">Link til google, nyt vindue</a><br>
<a href="http://www.google.com" target="_self">Link til google, samme vindue</a><br>
<a href="#" onclick="window.close">Luk vinduet</a><br>

</body>
</html>

På forhånd tusind tak for hjælpen!
Avatar billede the_ghost Nybegynder
30. september 2004 - 15:29 #1
isset($_COOKIE['mail']) og isset($fisk) returnere jo 1 hvis de er true
Avatar billede the_ghost Nybegynder
30. september 2004 - 15:31 #2
... Min fejl, det har ikke noget at sige, Men jeg kan sagtens få det til at virke i IE
Avatar billede flushout Nybegynder
30. september 2004 - 15:32 #3
ja.. og det skal de også.. problemet er ikke dem. Det er !getSubString() der skaber problemerne, det er som om den ikke "kigger på" den rigtige url...
Avatar billede flushout Nybegynder
30. september 2004 - 15:33 #4
Kommer der en popup frem på når du trykker på "Link til google, samme vindue" eller lukker vinduet ned??

For det virker ikke på min comp..
Avatar billede flushout Nybegynder
30. september 2004 - 15:51 #5
Når du tester skal du være opmærksom på at substring(7,xx) og "www.mydomain.dk" skal tilpasses hinanden. Jeg kan se de ikke er tilpassede i den kopi jeg har kopieret ind herover..
Avatar billede roenving Novice
01. oktober 2004 - 01:01 #6
Måske:

<script type="text/javascript">
function getSubString(){
  return (window.location.indexOf('www.mydomain.dk')==7);
}
</script>
Avatar billede flushout Nybegynder
04. oktober 2004 - 12:50 #7
Jeg har fundet en løsning på dette problem, jeg bruger nu:

return ('<?=$_SERVER[SERVER_NAME]?>' == 'www.topdanmark.dk');

Og det ser ud til at virke efter hensigten :-)

Tak for hjælpen!
Avatar billede flushout Nybegynder
04. oktober 2004 - 12:51 #8
lukker lige..
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester