Avatar billede wiper Nybegynder
18. september 2001 - 00:16 Der er 10 kommentarer og
1 løsning

Javascript popup vindue der kun vises en gang

Hej
Har et pop-up vindue der vises når forsiden loades.

Men jeg ville gerne at brugerne kun fik det vist én enkelt gang.. dvs. at det ikke skal vises hvis brugeren trykker på tilbage knappen i deres browser ...det har vel noget med en cookie at gøre ...er der en der kan vise mig vejen hvordan det gøres ???

på forhånd tak !!
Avatar billede krohn Praktikant
18. september 2001 - 00:23 #1
Kikker lige på det med den ene gang, her er lige en lidt anden type popup http://www.script.dk/sourcecode.asp?resourceId=235
Avatar billede krohn Praktikant
18. september 2001 - 00:58 #2
måske er der noget du kan bruge på http://www.eksperten.dk/spm/109771
Avatar billede roenving Novice
18. september 2001 - 03:03 #3
Og du har helt ret, det er da lige simpelt med en cookie:

(her den ekstremt simple -- findes flere hjemmesider under samme domæner skal man scanne for tidligere forekomster af præcis denne cookie):

if (!document.cookie) {
  document.cookie=\'noget\';
  window.open(\'duErHerFoersteGang.html\',\'Foerstegang\');
}

hth
jes
Avatar billede wiper Nybegynder
20. september 2001 - 16:10 #4
jeg er ikke helt med dig roenving

Skal jeg blot skrive:

if (!document.cookie) {
  document.cookie=\'SET\';
  window.open(\'DET VINDUE DER SKAL VISES.html\',\'Foerstegang\');
}

Så vises viduet kun en gang ??

Avatar billede roenving Novice
21. september 2001 - 13:41 #5
Ja, det var det jeg skrev, men det er nok sikrere at bruge:

if (document.cookie.indexOf(\'flereGange=\')<0) {
  document.cookie=\'flereGange=true\';
  window.open(\'DET VINDUE DER SKAL VISES.html\',\'Foerstegang\');
}

Fordi *alle* cookies fra et bestemt domæne returneres med document.cookie.

;·]
Avatar billede wiper Nybegynder
21. september 2001 - 14:40 #6
Hej Roenving

Jeg har nu flg. der med på forsiden der loades med: <body onLoad=\"PopWin(\'http://Domæne/side.htm\',300,300);\">

<script language=\"JavaScript\">
<!-- Gem koden for gamle browsere

if (document.cookie.indexOf(\'flereGange=\')<0) {
  document.cookie=\'flereGange=true\';
  window.open(\'SIDEN.htm\',\'Foerstegang\'); }

function PopWin(url,h,w) { var ww = 480, wh = 340, leftPos = null, topPos = null;

IE=(document.all)?true:false;
var wh = (IE)?document.body.clientHeight : window.innerHeight;
var ww = (IE)?document.body.clientWidth : window.innerWidth;

if (top.screen){
  if (screen.width){
    leftPos = Math.round((ww-w-10)/2);
    topPos = Math.round((wh-h-29)/2);
  } else {
    leftPos = 50
    topPos = 50
  }
}

popupWin = window.open(url, \'popup\', \'height=\' + h + \',width=\' + w + \',top=\' + topPos + \',left=\' + leftPos + \'\')
}
// -->
</script>

men den bliver ved med at poppe up ved opdatering

er if statementet placeret forkert ??
Avatar billede roenving Novice
21. september 2001 - 15:17 #7
Ja!

if (document.cookie.indexOf(\'flereGange=\')<0) {
  document.cookie=\'flereGange=true\';
  window.open(\'SIDEN.htm\',\'Foerstegang\'); }

function PopWin(url,h,w) { var ww = 480, wh = 340, leftPos = null, topPos = null;
if (document.cookie.indexOf(\'flereGange=\')<0) {
  document.cookie=\'flereGange=true\';
  return; }

IE=(document.all)?true:false;
var wh = (IE)?document.body.clientHeight : window.innerHeight;
var ww = (IE)?document.body.clientWidth : window.innerWidth;

if (top.screen){
  if (screen.width){
    leftPos = Math.round((ww-w-10)/2);
    topPos = Math.round((wh-h-29)/2);
  } else {
    leftPos = 50
    topPos = 50
  }
}

popupWin = window.open(url, \'popup\', \'height=\' + h + \',width=\' + w + \',top=\' + topPos + \',left=\' + leftPos + \'\')
}

;·]
Avatar billede wiper Nybegynder
21. september 2001 - 15:26 #8
det popper stadigvæk ved opdatering

Avatar billede roenving Novice
21. september 2001 - 15:29 #9
Øeh ...

function PopWin(url,h,w) { var ww = 480, wh = 340, leftPos = null, topPos = null;
if (document.cookie.indexOf(\'flereGange=\')>=0)return;
document.cookie=\'flereGange=true\';

IE=(document.all)?true:false;
var wh = (IE)?document.body.clientHeight : window.innerHeight;
var ww = (IE)?document.body.clientWidth : window.innerWidth;

if (top.screen){
  if (screen.width){
    leftPos = Math.round((ww-w-10)/2);
    topPos = Math.round((wh-h-29)/2);
  } else {
    leftPos = 50
    topPos = 50
  }
}

popupWin = window.open(url, \'popup\', \'height=\' + h + \',width=\' + w + \',top=\' + topPos + \',left=\' + leftPos + \'\')
}

Jeg havde lige glemt at vende logikken !-)
Avatar billede wiper Nybegynder
21. september 2001 - 15:32 #10
Hej Roenving

Nu kører dett ...bukker og takker... og smider lige points til dig
Avatar billede roenving Novice
23. september 2001 - 15:55 #11
Velbekomme -- og tak for points ;~}
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