05. december 2002 - 14:09
Der er
22 kommentarer og 1 løsning
Modificering af Modeless popup
Kan man udbygge dette script til automatisk at centrerer sig på skærmen og tilmed sætte vinduets størrelse efter brugerens screen resolution?
<script>
function modelesswin(url,mwidth,mheight){
if (document.all&&window.print) //if ie5
eval('window.showModelessDialog(url,"","help:0;resizable:1;dialogWidth:'+mwidth+'px;dialogHeight:'+mheight+'px")')
else
eval('window.open(url,"","width='+mwidth+'px,height='+mheight+'px,resizable=1,scrollbars=1")')
}
</script>
<a href="java script:modelesswin('
http://yahoo.com' ,100,100)">Click here</a>
Annonceindlæg fra Pax8
Slettet bruger
05. december 2002 - 14:17
#1
Ja, men du bliver nok nødt til at vælge én af delene! :) Centrering: function modelesswin(url, mwidth, mheight) { v = (screen.width - mwidth) / 2; t = (screen.height - mheight) / 2; if (document.all & &window.print) //Hvis IE5 window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:" + v + "px;dialogTop:" + t + "px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=" + v + ",top=" + t + ",resizable=1,scrollbars=1"); } Skærm opløsning: function modelesswin(url) { mwidth = (screen.availWidth) ? screen.availWidth : screen.width; mheight = (screen.availHeight) ? screen.availHeight : screen.height; if (document.all & &window.print) //Hvis IE5 window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:0px;dialogTop:0px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=0,top=0,resizable=1,scrollbars=1"); }
05. december 2002 - 14:35
#2
Hmm jeg får scriptfejl!
Slettet bruger
05. december 2002 - 14:36
#3
I hvilken et af scriptene? Og kan du smide et link?
05. december 2002 - 14:39
#4
I har pt. intet at linke til.. Men jeg får fejl på dette: <script> function modelesswin(url) { mwidth = (screen.availWidth) ? screen.availWidth : screen.width; mheight = (screen.availHeight) ? screen.availHeight : screen.height; if (document.all & &window.print) //Hvis IE5 window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:0px;dialogTop:0px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=0,top=0,resizable=1,scrollbars=1"); } </script> </head> <body> <a href="java script:modelesswin">Click here</a> </body> </html>
Slettet bruger
05. december 2002 - 14:41
#5
Du giver jo heller ingen paremetre til funktionen: <a href="#" onClick="modelesswin('din_side.html'); return false>">Åbn mlw!</a>
05. december 2002 - 14:43
#6
Hmm.. men jeg får stadig en Syntax error
Slettet bruger
05. december 2002 - 14:52
#7
Værsgo: <html> <head> <script> function mlw(url) { mwidth = (screen.availWidth) ? screen.availWidth : screen.width; mheight = (screen.availHeight) ? screen.availHeight : screen.height; if (document.all && window.print) //Hvis IE5 window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:0px;dialogTop:0px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=0,top=0,resizable=1,scrollbars=1"); } </script> </head> <body> <a href="#" onClick="mlw('din_side.html'); return false;">Åbn mlw!</a> </body> </html>
05. december 2002 - 15:02
#8
Hmm.. det er helt gak! Den åbner ikke noget NYT vindue og kan ikke vise den side man linker til. I stedet viser den sourcekoden af den side der linkes til !?!
05. december 2002 - 15:06
#9
Man kunne evt. droppe den modeless halløj og bare ha' et et popup vindue der fylder hele skærmen efter brugerens screen resolution, uden toolbars, men med topbar så man kan lukke og minimerer vinduet.
Slettet bruger
05. december 2002 - 17:04
#10
Det er lidt underligt, eftersom det virker hos mig. Kan du ikke vise HELE koden til din test-side?
09. december 2002 - 01:15
#11
Ok.. det virker også her. Men dog ikke i Opera browseren? + at vinduet syntes at være for stort (rager uden for skærmen) i Netscape!
Slettet bruger
09. december 2002 - 15:48
#12
For at fikse det med Opera, kan du gøre således: function mlw(url) { mwidth = (screen.availWidth) ? screen.availWidth : screen.width; mheight = (screen.availHeight) ? screen.availHeight : screen.height; if (navigator.appName.indexOf("Opera") == -1 && document.all && window.print) //Hvis IE5 window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:0px;dialogTop:0px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=0,top=0,resizable=1,scrollbars=1"); } Hvor meget rager vinduet uden for skærmen i NS?
09. december 2002 - 16:12
#13
Hmm.. nu åbner den i IE noget af mit site i det første vindue, for så at åbne resten i et almindeligt popup vindue...
Slettet bruger
09. december 2002 - 16:15
#14
Prøv: if (!window.opera && document.all && window.print) //Hvis IE5
09. december 2002 - 16:21
#15
Nope.. den er helt gal. Nu åbner den ikke længe noget popup.
Slettet bruger
09. december 2002 - 16:27
#16
if (typeof(window.opera) == "undefined" && document.all && window.print) //Hvis IE5
09. december 2002 - 16:40
#17
hmm.. helt gak.. prøv selv at se hvordan den åbner vinduerne..
www.theselfimages.dk/default2.asp Den skal jo ikke åbne det sidste popup. !!
Slettet bruger
09. december 2002 - 16:49
#18
Bliver det sidste vindue ikke bare åbnet fra siden i dit modeless vindue?
09. december 2002 - 16:55
#19
hmm.. jo.. men det burde det ikke.. Siden i modeless er preloaderen.. og den linker bare til den næste side i sit eget vindue! Jeg syntes bare ikke den gjore sådan i går?!!?
Slettet bruger
09. december 2002 - 17:05
#20
Hm, ændr først scriptet til dette: function mlw(url) { mwidth = (screen.availWidth) ? screen.availWidth : screen.width; mheight = (screen.availHeight) ? screen.availHeight : screen.height; if (window.showModelessDialog) window.showModelessDialog(url, "", "help:0;resizable:1;dialogWidth:" + mwidth + "px;dialogHeight:" + mheight + "px;dialogLeft:0px;dialogTop:0px"); else window.open(url, "", "width=" + mwidth + ",height=" + mheight + ",left=0,top=0,resizable=1,scrollbars=1"); } Ved nærmere eftersyn ser det ud, som om du ikke bare sådan kan ændre url'en i et modeless vindue. Og hvorfor overhovedet bruge modeless windows i dit tilfælde?
09. december 2002 - 17:18
#21
Hmm.. ja så dur det ikke, hvis URL'en ikke kan ændres. Ved ikke om du bemærkede at der startede noget musik på forsiden, hvorfra selve sitet blev åbnet med denne popup funktion. Anyway det er musikken der er hele problemet og grunden til brug af popup. Jeg kan ikke lægge det på selve sitet da siden hele tiden refresher, når noget klikkes. Og jeg bruger ikke frames.
Slettet bruger
09. december 2002 - 18:16
#22
Hvad med at preloade billederne på den side, hvor musikken er, og så åbne siden i vinduet?
09. december 2002 - 18:55
#23
Okay.. jeg prøver at se på det. Tak for din hjælp.
Vi tilbyder markedets bedste kurser inden for webudvikling