Avatar billede cav Nybegynder
18. april 2001 - 12:35 Der er 38 kommentarer og
4 løsninger

Pop-up vinduer - left og right - HASTER!!!

Jeg har brug for 2 scripts.

1. Et script, der ved load af en side automatisk åbner et pop-up vindue med specifikke mål og uden barer i øverste venstre hjørne af skærmen.

2. Et script, der ved klik på et link åbner et pop-up vindue med specifikke mål og uden barer i øverste højre hjørne af skærmen.

Håber der er en der kan hjælpe mig...

P.S. Gerne også hvis vinduerne skal åbnes mod bunden...
Avatar billede nikolajdu Nybegynder
18. april 2001 - 12:38 #1
Den venstre er nem nok.

<script language=\"JavaScript\">
<!--

function popLoad() {

window.open(\"flashpop.htm\",\"nyt\",\"width=400,height=400,left=0,top=0,toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>
Avatar billede nikolajdu Nybegynder
18. april 2001 - 12:41 #2
Her er en til højre også...

<HTML>
<HEAD>
<TITLE>Nikolajdu.dk</TITLE>
<script language=\"JavaScript\">
<!--

function popLoad() {
var myLeft = (screen.availWidth - 200); // De 200 er vinduets bredde
var myTop = (screen.availHeight - screen.availHeight) - 200; // De 200 er vinduets højde
window.open(\"flashpop.htm\",\"nyt\",\"width=200,height=200,left=\"+myLeft+\",top=\"+myTop+\",toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>


</HEAD>
<BODY bgcolor=\"#999999\">

<a href=\"#\" onClick=\"popLoad()\">klik</a>

</BODY>
</HTML>
Avatar billede cav Nybegynder
18. april 2001 - 12:43 #3
Tak... Checker det lige...

/Cav
Avatar billede nute Nybegynder
18. april 2001 - 12:44 #4
nikolajdu >> var myTop = (screen.availHeight - screen.availHeight) - 200; er ikke nødvendig...vinduet skal ligge øverst, med andre ord på pixel 0, så din funksjon skal se sånn ut:

<script language=\"JavaScript\">
<!--

function popLoad() {
var myLeft = (screen.availWidth - 200); // De 200 er vinduets bredde
var myTop = (screen.availHeight - screen.availHeight) - 200; // De 200 er vinduets højde
window.open(\"flashpop.htm\",\"nyt\",\"width=200,height=200,left=\"+myLeft+\",top=0,toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>
/nute


Avatar billede nikolajdu Nybegynder
18. april 2001 - 12:49 #5
Nute - Du har ret, men glemte selv at fjerne myTop *s* :-)

<HTML>
<HEAD>
<TITLE>Nikolajdu.dk</TITLE>
<script language=\"JavaScript\">
<!--

function popLoad() {

window.open(\"flashpop.htm\",\"venstre\",\"width=400,height=400,left=0,top=0,toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>


<script language=\"JavaScript\">
<!--

function hojreLoad() {
var myLeft = (screen.availWidth - 200); // De 200 er vinduets bredde

window.open(\"flashpop.htm\",\"hojre\",\"width=200,height=200,left=\"+myLeft+\",top=0,toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>

</HEAD>
<BODY bgcolor=\"#999999\" onLoad=\"popLoad()\">
<center>
<a href=\"#\" onClick=\"hojreLoad()\">hojre</a>
</center>
</BODY>
</HTML>
Avatar billede nikolajdu Nybegynder
18. april 2001 - 12:49 #6
Det skulle vist være lige i øjet. ,-)
Avatar billede hoejrup Nybegynder
18. april 2001 - 12:50 #7
Nej, det skal se sådan ud:

<script language=\"JavaScript\">
<!--

function popLoad() {
var myLeft = (screen.availWidth - 200); // De 200 er vinduets bredde
window.open(\"flashpop.htm\",\"nyt\",\"width=200,height=200,left=\"+myLeft+\",top=0,toolbar=No,menubar=No,location=No,scrolling=NO,resizeable=NO\");
}

//-->
</script>

/per
Avatar billede nikolajdu Nybegynder
18. april 2001 - 12:53 #8
æhm, er det ikke hvad jeg har lavet?
Avatar billede nute Nybegynder
18. april 2001 - 12:55 #9
cav >> for å leke deg litt med mulighetene for å plassere et vindu (eller noe annet) rundt om på skjermen, skal du lese litt om de ulike metodene du kan kalle på \'screen\' objectet:

http://developer.netscape.com/docs/manuals/js/client/jsref/screen.htm

Ellers er JavaScript Dokumentasjonen en god ting å snuse litt rundt i:

http://developer.netscape.com/docs/manuals/js/client/jsref/index.htm
/nute
Avatar billede cav Nybegynder
18. april 2001 - 13:19 #10
nikolajdu >>
Det virker umiddelbart fint på pc i både NS og IE, dog ligger det højre vindue for langt mod højre - lidt af højre-kanten forsvinder.
På Mac ser det ligesådan ud i NS, men i IE er der stadig barer, og det højre vindue placerer sig lidt fra det øverste venstre hjørne...

??? ;-)

/Cav
Avatar billede cav Nybegynder
18. april 2001 - 13:23 #11
nikolajdu >>
Se evt. http://www.builder.com/Programming/JSWinTips/ss02.html
Det siger mig godt nok ikke lige så meget...

/Cav
Avatar billede cav Nybegynder
18. april 2001 - 13:24 #12
nikolajdu >>
Se evt. http://www.builder.com/Programming/JSWinTips/ss02.html
Det siger mig godt nok ikke lige så meget...

/Cav
Avatar billede nikolajdu Nybegynder
18. april 2001 - 13:35 #13
Du kan selv ændre hvor langt mod højre vinduet skal være ved at ændre det her. Hvis du vælger 198 - vil vinduet være 2 pixels længere inde på skærmen.

function hojreLoad() {
var myLeft = (screen.availWidth - 198); // De 200 er vinduets bredde

Har ingen Mac i nærheden så jeg er lidt på den her... :-(
Avatar billede nikolajdu Nybegynder
18. april 2001 - 13:43 #14
Du kan prøve at skifte den her ud

screen.availWidth

med

screen.Width

Det er et rent skud i tågen...
Avatar billede nikolajdu Nybegynder
18. april 2001 - 13:50 #15
http://www.eksperten.dk/spm/42731 - Geeeet ved som regel hvad han snakker om, så der er ihvertilfald et problem med baren...
Avatar billede hoejrup Nybegynder
18. april 2001 - 14:01 #16
<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
<HTML>
<HEAD>
<TITLE>demo</TITLE>
</HEAD>
<SCRIPT language=\"Javascript\">
<!--//
function win1(w,h) {
        if (window.screen) {
  var chasm = screen.availWidth;
  var mount = screen.availHeight;
  mindsEye1 = window.open(\'\',\'win1\',\'width=\' + w + \',height=\' + h + \',left=\' + ((chasm - w)  * 0) + \',top=\' + ((mount - h) * 0));
  writeWay(mindsEye1,\'1\',\'top\',\'left\');
  }
}

function win2(w,h) {
        if (window.screen) {
  var chasm = screen.availWidth;
  var mount = screen.availHeight;
  mindsEye2 = window.open(\'\',\'win2\',\'width=\' + w + \',height=\' + h + \',left=\' + ((chasm - w - 10) * 1) + \',top=\' + (mount * 0));

  writeWay(mindsEye2,\'2\',\'top\',\'right\');
  }
}
}
//-->
</SCRIPT>

<BODY Onload=\"java script:win1(100,200);\">

<A HREF=\"java script:win2(100,200);\">Klik her</A>

</BODY>
</HTML>

/per
Avatar billede jakoba Nybegynder
19. april 2001 - 09:12 #17
i head:
<script language=\'javascript\'>

function popTopLeft(url) {
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=0\"
  } else {
    var pos = \",screenX=0,screenY=0\"
  };
  window.open( url, \"topleftwin\"
            , \"location=1,menubar=1,toolbar=1\"+pos
              +\",resizable=1,scrollbars=1,height=340,width=510\");
}; //end popTopLeft( string )

function popTopRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var xPos = screen.awailWidth-(bredde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=0\"
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=0\"
  };
  if (popOnUnload==true)
    open( url, \"toprightvin\"
        , \"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popTopRight( string )

function popBundLeft(url) {
  var hojde = 340;    // indskriv den ønskede hojde
  var yPos = screen.awailHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=\"+yPos
  } else {
    var pos = \",screenX=0,screenY=\"+yPos
  };
  if (popOnUnload==true)
    open( url, \"toprightvin\"
        , \"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=\"+hojde+\",width=510\");
}; //end popBundLeft( string )

function popBundRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var hojde  = 340;    // indskriv den ønskede hojde
  var xPos = screen.awailWidth-(bredde+10);
  var yPos = screen.awailHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=\"+yPos
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=\"+yPos
  };
  if (popOnUnload==true)
    open( url, \"bundrightvin\"
        , \"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popBundRight( string )

popTopLeft( \"en_side.html\" ); // popper en_side.html når denne side loades.

</script>

i body:

<a href=\"java script:void(popTopRight(\'en_anden_side.html\'))\">popper en_anden_side.html ved klik</a>

hvis du ønsker at angive bredde og hojde ved kald, skulle de være ret nemme at gøre til parametre.

mvh JakobA
Avatar billede cav Nybegynder
19. april 2001 - 09:35 #18
JakobA >>
Det højre pop-up virker åbenbart ikke, og der er barer på vinduerne...?

/Cav
Avatar billede nikolajdu Nybegynder
19. april 2001 - 09:39 #19
Jakoba - Ved du hvad problemet er med Mac?

CAv - Prøv at rette scrollbar=1, toolbar=1 og menubar=1 til =0 eller =no
Avatar billede cav Nybegynder
19. april 2001 - 09:54 #20
Tak! Så fik jeg fjernet barerne, men det højre vindue åbner stadig ikke ved klik på linket...?

/Cav
Avatar billede jakoba Nybegynder
19. april 2001 - 09:58 #21
nicolaidu >> næe, det er nok snarere olebole vi skal have fat i der

cav >> som nikolaidu siger;
scrollbars=1,  giver scrollbar
scrollbars=0,  fjerner scrollbar
toolbar=1,      giver værktøjslinie
toolbar=0,      fjerner værktøjslinie.
osv. osv.
Avatar billede cav Nybegynder
19. april 2001 - 10:05 #22
jakoba >> Ja tak, det fik jeg...

Men stadig problemer med højre pop-up, og for den sags skyld også med andre, ved klik på link...

Kan du/I afhjælpe dette?

/Cav
Avatar billede cav Nybegynder
19. april 2001 - 10:30 #23
Mht. den højre pop-up, får jeg flg. fejl når jeg klikker på linket:

Linie: 27
Tegn: 29
Fejl: \'popUnload\' er ikke defineret
Kode: 0

Jeg håber I kan tyde dette...

/Cav
Avatar billede cav Nybegynder
19. april 2001 - 10:34 #24
Jeg skrev lige forkert:

Fejl: \'popOnUnload\' er ikke defineret

/Cav
Avatar billede nikolajdu Nybegynder
19. april 2001 - 10:38 #25
Jeg har selv fået fejlen, men kan ikke helt greje hvorfor han overhovedet har popOnUnLoad med.

Jakoba - I Netscape 4.73 og 6.01 får jeg venstre op, men ingen højre og ingen fejl overhovedet.

Hvis Jakoba gad give en melding om hvor han er - Mere så jeg ved om jeg skal kigge lidt nærmere på hans script. Han er tords alt en hel del mere ferm til det her end jeg så hvis han alligevel er i nærheden ville jeg bruge min vældigt kostbare tid forkert.. *s*
Avatar billede hoejrup Nybegynder
19. april 2001 - 11:48 #26
cav> Jeg har testet mit hmtl i Mac og ver virker udemærket.

/per
Avatar billede hoejrup Nybegynder
19. april 2001 - 11:48 #27
cav> Jeg har testet mit hmtl i Mac og det virker udemærket.

/per
Avatar billede cav Nybegynder
19. april 2001 - 12:04 #28
per >>
Jeg kan ikke få det til at virke, hverken Mac eller PC. Har du evt. mulighed for at uploade til en server, hvorfra jeg kan trække koden?

Mvh. Cav
Avatar billede hoejrup Nybegynder
19. april 2001 - 12:19 #29
Jeg har testet denne kode på Mac og den virker perfekt:

<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\">
<HTML>
<HEAD>
<TITLE>demo</TITLE>
</HEAD>
<SCRIPT language=\"Javascript\">
<!--//
function win1(w,h) {
        if (window.screen) {
  var chasm = screen.availWidth;
  var mount = screen.availHeight;
  mindsEye1 = window.open(\'\',\'win1\',\'width=\' + w + \',height=\' + h + \',left=\' + ((chasm - w)  * 0) + \',top=\' + ((mount - h) * 0));
  writeWay(mindsEye1,\'1\',\'top\',\'left\');
  }
}

function win2(w,h) {
        if (window.screen) {
  var chasm = screen.availWidth;
  var mount = screen.availHeight;
  mindsEye2 = window.open(\'\',\'win2\',\'width=\' + w + \',height=\' + h + \',left=\' + ((chasm - w - 10) * 1) + \',top=\' + (mount * 0));

  writeWay(mindsEye2,\'2\',\'top\',\'right\');
  }
}
}
//-->
</SCRIPT>

<BODY Onload=\"java script:win1(100,200);\">

<A HREF=\"java script:win2(100,200);\">Klik her</A>

</BODY>
</HTML>

Og jeg kan godt sende html dokumentet til din email adresse.

/per
Avatar billede nikolajdu Nybegynder
19. april 2001 - 12:23 #30
Jeg får 3 javaScript fejl i dit script hoejrup. 1 syntax og 2 object.
Avatar billede hoejrup Nybegynder
19. april 2001 - 12:27 #31
nikolajdu> I hvilken browser? For scriptet er taget fra nettet, det er faktisk gennemtestet af andre på nettet. Det er nemlig minimale ændringer jeg har tilføjet, så det tror jeg ikke på.

/per
Avatar billede nikolajdu Nybegynder
19. april 2001 - 12:31 #32
I IE 5.5
Avatar billede nikolajdu Nybegynder
19. april 2001 - 12:34 #33
Tror du ikke det er den her der ikke er gyldig. \"writeWay\"
Avatar billede hoejrup Nybegynder
19. april 2001 - 12:37 #34
Du har ret i, at den ikke virker i IE. Jeg testede den faktisk kun i NS 4.76.

/per
Avatar billede nikolajdu Nybegynder
19. april 2001 - 12:40 #35
Den virker også fint i min Netscape 4.73, men ikke i 6.0 - Der får jeg ingen fejl eller popupvinduer.

Jeg tror aldrig jeg har set magen til problemer med popup´s.... *ss*
Avatar billede jakoba Nybegynder
19. april 2001 - 20:00 #36
Oh shit. jeg skulle have fjernet den linie der hedder
if ( popOnUnload==true )
poster rettet:

  i head:
<script language=\'javascript\'>

function popTopLeft(url) {
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=0\"
  } else {
    var pos = \",screenX=0,screenY=0\"
  };
  window.open( url, \"topleftwin\"
            , \"location=1,menubar=1,toolbar=1\"+pos
              +\",resizable=1,scrollbars=1,height=340,width=510\");
}; //end popTopLeft( string )

function popTopRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var xPos = screen.awailWidth-(bredde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=0\"
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=0\"
  };
  open( url, \"toprightvin\"
      , \"location=1,menubar=1,toolbar=1\"+pos
      +\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popTopRight( string )

function popBundLeft(url) {
  var hojde = 340;    // indskriv den ønskede hojde
  var yPos = screen.awailHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=\"+yPos
  } else {
    var pos = \",screenX=0,screenY=\"+yPos
  };
  open( url, \"toprightvin\"
        , \"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=\"+hojde+\",width=510\");
}; //end popBundLeft( string )

function popBundRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var hojde  = 340;    // indskriv den ønskede hojde
  var xPos = screen.awailWidth-(bredde+10);
  var yPos = screen.awailHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=\"+yPos
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=\"+yPos
  };
  open( url, \"bundrightvin\"
        , \"location=1,menubar=1,toolbar=1\"+pos
        +\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popBundRight( string )

popTopLeft( \"en_side.html\" ); // popper en_side.html når denne side loades.

</script>

i body:

<a href=\"java script:void(popTopRight(\'en_anden_side.html\'))\">popper en_anden_side.html ved klik</a>

hvis du ønsker at angive bredde og hojde ved kald, skulle de være ret nemme at gøre til parametre.

mvh JakobA
Avatar billede cav Nybegynder
20. april 2001 - 10:02 #37
JakobA >>
Det venstre pop-up vindue fungerer fint - automatisk. Men det højre vindue popper ikke op i højre side ved klik på linket, men i venstre side...?

Mvh. Cav
Avatar billede hoejrup Nybegynder
20. april 2001 - 11:39 #38
Jeg har rettet et par fejl, og nu virker det i både
IE og NS.

<script language=\'javascript\'>

function popTopLeft(url) {
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=0\"
  } else {
    var pos = \",screenX=0,screenY=0\"
  };
  window.open( url, \"topleftwin\", \"location=1,menubar=1,toolbar=1\"+pos+\",resizable=1,scrollbars=1,height=340,width=510\");
}; //end popTopLeft( string )

function popTopRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var xPos = (screen.availWidth - (bredde+10) * 1);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=0\"
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=0\"
  };
  open( url,\"toprightvin\",\"location=1,menubar=1,toolbar=1\"+pos+\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popTopRight( string )

function popBundLeft(url) {
  var hojde = 340;    // indskriv den ønskede hojde
  var yPos = screen.availHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=0,top=\"+yPos
  } else {
    var pos = \",screenX=0,screenY=\"+yPos
  };
  open( url,\"bundleftvin\",\"location=1,menubar=1,toolbar=1\"+pos+\",resizable=1,scrollbars=1,height=\"+hojde+\",width=510\");
}; //end popBundLeft( string )

function popBundRight(url) {
  var bredde = 510;    // indskriv den ønskede bredde
  var hojde  = 340;    // indskriv den ønskede hojde
  var xPos = screen.availWidth-(bredde+10);
  var yPos = screen.availHeight-(hojde+10);
  if (navigator.appName!=\"Netscape\") {
    var pos = \",left=\"+xPos+\",top=\"+yPos
  } else {
    var pos = \",screenX=\"+xPos+\",screenY=\"+yPos
  };
  open( url,\"bundrightvin\",\"location=1,menubar=1,toolbar=1\"+pos+\",resizable=1,scrollbars=1,height=340,width=\"+bredde);
}; //end popBundRight( string )

popTopLeft( \"en_side.html\" ); // popper en_side.html når denne side loades.

</script>

/per
Avatar billede cav Nybegynder
20. april 2001 - 12:23 #39
hoejrup >>
Hvis jeg retter
var yPos = screen.availHeight-(hojde+10)
til
var yPos = screen.availHeight-(hojde+30)
i både popBundLeft og popBundRight passer placeringen... Dog fungerer det stadig ikke i IE på Mac (4.5). Men det må man vel leve med!?
Spørgsmålet er, om jeg ikke skal fordele pointene?

/Cav
Avatar billede hoejrup Nybegynder
20. april 2001 - 14:23 #40
cav> Jeg har kun testet popTopLeft og popTopRight, samt rettet de fejlene i popBundLeft og popBundRight. Men det er godt at du fik rettet de sidste to placerings fejl.

Jeg har ikke IE 4.5 til min Mac, så det kan jeg ikke desværre teste.

Hvis du vil fordele pointene, så skal du anvende avanceret i menuen.

/per

Avatar billede nikolajdu Nybegynder
24. april 2001 - 04:48 #41
Det må stadig haste meget... ;-)
Avatar billede cav Nybegynder
03. maj 2001 - 12:49 #42
Da der stadig er problemer, fordeler jeg nu pointene med 50 til hver, som tak for indsatsen...

/Cav
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