|  | 		    
					
    
        
            
                
                | |  | Hvorfor virker window.open(...); ikke ? Fra :
  molokyle  | Vist : 947 gange 100  point
 Dato :  13-07-04 03:14
 | 
 |  | 
 
                Her er en testside :
 | Kode <html>
 <head>
 <title>Centered pop-up window</title>
 <script language = javascript>
 function image_open(pic)
 {
 var x_pic = new Image();
 x_pic.src=pic;
 var leftpos=(screen.width-x_pic.width)/2;
 var toppos=(screen.height-x_pic.height)/2;
 var HTML="<html><style>body{margin:0px 0px 0px 0px}</style><body onBlur='top.close()'><img src='"+pic+"' border='0' name='load_image' onLoad='window.resizeTo(document.load_image.width+10,document.load_image.height+30)'></body></html>";
 popupImage=window.open("","_blank","left='+leftpos+',top='+toppos+',toolbar=no,scrollbars=no");
 popupImage.document.open();
 popupImage.document.write(HTML);
 popupImage.document.close();
 }
 
 function test(pic)
 {
 var x_pic = new Image();
 x_pic.src=pic;
 var leftdist=screen.width/2;
 var topdist=screen.height/2;
 var leftpos=(screen.width-x_pic.width)/2;
 var toppos=(screen.height-x_pic.height)/2;
 document.write(
 'Halv skærm bredde = '+leftdist+
 '<br>Halv skærm højde = '+topdist+
 '<br>Billed bredde = '+x_pic.width+
 '<br>Billed højde = '+x_pic.height+
 '<br>Indsætningspunkt x-koordinat = '+leftpos+
 '<br>Indsætningspunkt y-koordinat = '+toppos);
 }
 </script>
 </head>
 <body>
 <p>
 <img src="BILLEDE.jpg" onClick="javascript:test('BILLEDE.jpg')">
 <p>
 <form>
 <input type="button" value="pop-up" onclick="JavaScript:image_open('BILLEDE.jpg');">
 </form>
 </body>
 </html>
 | 
Problemet er : window.open("","_blank","left='+leftpos+',top='+toppos+',toolbar=no,scrollbars=no");
 Vinduet vil IKKE positionere sig efter parametrene : leftpos og toppos
 Hvis man klikker på billedet, valideres værdierne af varablene som de skal, men klikker man på pop-up knappen vil billedet ikke centreres.
 Hvad er der galt ?
 </MOLOKYLE>
                
                
                    
                 |  |  | 
 | |  | Kommentar Fra :
  natmaden  | 
 Dato :  13-07-04 04:59
 | 
 |  | 
 
                Hej molokyle
 Kan ikke lige overskue din kode.
 men tror du bruger lidt mange anførselstegn/mellemrum.
 Gå til http://www.idgforlag.dk  kik under bilag
 find 'Start på javascript 1.5' download unzip kik på eksembel 12-5
 Det tilørende hæfte til 79kr. er nu også rart at have.    Natmaden
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  natmaden  | 
 Dato :  13-07-04 05:45
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 07:49
 | 
 |  | 
 
                natmaden -> Jeg har skam prøvet næsten ALLE kombinationer ....uden resultat. Når jeg tester Javascripts slår jeg altid : Vis meddelelse om hver scriptfejl i mine internetindstillinger. Derfor er der ikke mulighed for at 'komme til' at udelade et tegn.
 Her er 'lidt' af det jeg har prøvet :
 1.) window.open("","_blank","left='+leftpos+',top='+toppos+',toolbar=no,scroll bars=no");
 2.) window.open("","_blank","left=+leftpos+,top='+toppos+,toolbar=no,scroll bars=no");
 3.) window.open("","_blank","left=leftpos,top=toppos,toolbar=no,scroll bars=no");
 4.) window.open("","_blank","left='leftpos',top='toppos',toolbar=no,scroll bars=no");
 5.) window.open('','_blank','left="+leftpos+",top="+toppos+",toolbar=no,scroll bars=no');
 6.) window.open('','_blank','left=+leftpos+,top=+toppos+,toolbar=no,scroll bars=no');
 7.) window.open('','_blank','left=leftpos,top=toppos,toolbar=no,scroll bars=no');
 8.) window.open('','_blank','left="leftpos",top="toppos",toolbar=no,scroll bars=no');
 Intet af ovenstående giver fejl ..og intet virker    Ps. De der vil prøve koden selv, skal lige være opmærksom på Kandu.dk (..som sædvanlig) har lavet ged i koden.
 Linjen : popupImage=window.open("","_blank","left='+leftpos+',top='+toppos+',toolba r=no,scrollbars=no");
 ..skal være UDEN mellemrum i parameteren toolbar !!!
   </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 07:53
 | 
 |  | 
 
                Ps. ...ligesom der heller ikke skal være mellemrum i parameteren height :
 onLoad='window.resizeTo(document.load_image.width+10,document.load_image.h eight+30)
   </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  natmaden  | 
 Dato :  13-07-04 08:16
 | 
 |  | 
 
                Er det en trøst at din kode overhovedet ikke virker hos mig. jeg får en helt blank side.
 Er det osse kandu der har snuppet </title>
 Kan du køre denne
 | Kode <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html>
 <head>
 <title>POP-UP JAVA</title>
 
 <script type="text/javascript">
 <!--
 function Testa()
 {
 PW = window.open('billed.jpg','Test','height=200,width=400,scrollbars=1,resizable=1,menubar=0,status=1');
 if( PW )  PW.focus();
 return(false);
 }
 function Testb()
 {
 PW = window.open('','Test','height=200,width=400,scrollbars=0,resizable=1,menubar=0,status=0');
 if( PW )  PW.focus();
 return(false);
 }
 // -->
 </script>
 </head>
 <body>
 <center>
 <a href="" onclick="return Testa();">Test</a> Pop-up uden værktøjslinie
 <br>
 <a href="" onclick="return Testb();">Test</a> Pop-up uden scroll og status
 </center>
 </body>
 </html>
 | 
 |  |  | 
 | |  | Kommentar Fra :
  snortop  | 
 Dato :  13-07-04 08:33
 | 
 |  | 
 
                denne kode center dit pop up vindue.
 | Kode <script language="JavaScript">
 function openCenterWin(url,theWidth,theHeight){
 var theTop=(screen.height/2)-(theHeight/2);
 var theLeft=(screen.width/2)-(theWidth/2);
 var features=
 'height='+theHeight+',width='+theWidth+',top='+theTop+',left='+theLeft+",scrollbars=no";
 theWin=window.open(url,'',features);
 }
 </script>
 | 
Du kalder så function med
   openCenterWin("http://www.kandu.dk",300,300) De 2 sidste tal er hvor store du vil have det    Så egentlig kan du vel heri skriver din størrelse på de billede du har, så få du samme resultat
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 08:45
 | 
 |  | 
 
                natmaden -> Ja, det er også kandu.dk der har snuppet </title>    ..og nej dit eksempel skriver blot test test    Her er et kørende eksempel på min fil : http://home20.inet.tele.dk/friheden/popup_center.htm Så kan du se, hvor, jeg vil hen. Vinduet tilpasses automatisk billedet UDEN man behøver angive størrelse, men det vil ikke centrere på siden.
 </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 08:58
 | 
 |  | 
 
                Jeg kender udmærket dette script snortop og konceptuelt er der ingen forskel i kaldet til window.open(...);, men der skal man jo angive størrelsen på vinduet ...ikke fikst    Din beregning til at placere billedet/URL'en centreret benytter 2 divisioner pr. linje. Heller ikke effektivt.
 var leftpos=(screen.width-x_pic.width)/2;
 var toppos=(screen.height-x_pic.height)/2;
 ..giver samme resultat med blot én division    </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 09:05
 | 
 |  | 
 
                natmaden & snortop -> Jeg vil bruge denne kode istedet for en løsning alá snortop's, fordi man kan hardcode HTML fra scriptet til pop-up'en og ikke blot indsætte en URL i et window.open(...); kald.
 Derved kan f.eks. en lukke knap indsættes fra scriptet, uden man behøver at kode en side for alle billeder    </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  CLAN  | 
 Dato :  13-07-04 09:12
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 09:30
 | 
 |  | 
 
                CLAN -> I princippet er idéen den samme som mit script, blot uden billede størrelse beregning. Det script du angiver beregner IKKE størrelsen af billedet automatisk som er dét der skulle være hele fidusen. Det laver blot en vindue på 200 X 255 pixel.
 Problemet er stadig det samme : At få en beregnet parameter ind, som left= og top= i kaldet til window.open(...);
 </MOLOKYLE>
 
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 09:38
 | 
 |  | 
 
                Jeg gentager lige mig selv    Her er et kørende eksempel på min kode : http://home20.inet.tele.dk/friheden/popup_center.htm ..og :
 | Citat Hvis man klikker på BILLEDET (..prøv det), valideres værdierne af varablene som de skal, men klikker man på pop-up knappen vil billedet ikke centreres med værdien af indsætningspunt x og indsætningspunkt y.
 | 
</MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 09:48
 | 
 |  | 
 
                Som det så tit går, har jeg selv fundet fejlen    popupImage=window.open("","_blank","left="+leftpos+",top="+toppos+",toolbar=no,scrollbars=no");
 ..det var det hele    natmaden kom nærmest, dog uden at løse det specifikke problem, snortop får pointene for dette spørgsmål og natmaden får de 400 tillægs bobs    Jeg retter lige koden i : http://home20.inet.tele.dk/friheden/popup_center.htm ..og vender tilbage.
 </MOLOKYLE>
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  molokyle  | 
 Dato :  13-07-04 10:20
 | 
 |  |  |  |  | 
 | |  | Kommentar Fra :
  BjarneD  | 
 Dato :  13-07-04 12:21
 | 
 |  | 
 
                Hej Molo
 Jeg bruger dette, som jeg så gerne vil høre hvad u mener om:
 | Kode <script language="javascript" type="text/javascript">
 <!--
 /****************************************************
 Author: Eric King
 Url: http://redrival.com/eak/index.shtml
 This script is free to use as long as this info is left in
 Featured on Dynamic Drive script library (http://www.dynamicdrive.com)
 ****************************************************/
 var win=null;
 function NewWindow(mypage,myname,w,h,scroll,pos){
 if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
 if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
 else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
 settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no,resizable=yes';
 win=window.open(mypage,myname,settings);}
 // -->
 </script>
 | 
og til selve linket f. eks. denne:
 | Kode <a href="http://www.xxx.dk/xx.htm" onclick="NewWindow(this.href,'xx_foto','725','500','no','center');return false" onfocus="this.blur()">
 <img border="0" src="images/xx_small.jpg" xthumbnail-orig-image="images/xx.jpg" alt=" navn " width="90" height="86"></td>
 | 
Ville det være bedre at anvende din?
                
                
                 |  |  | 
 | |  | Kommentar Fra :
  natmaden  | 
 Dato :  13-07-04 13:42
 | 
 |  | 
 
                Ja-Ja bare fordi at man lige tillader sig at sove lidt, så skal man til at betale for at følge med.
 Kunne næsten sige at jeg kom sovende til det    Forresten virker min simple kode hos mig ??
 Hvilket giver mig den tanke at det også handler om IE's indstillinger.
 Jeg må i gang med lidt mere script(ting)
 Man blir s.. hurtig tom i hovedet i min alder.    Nu vi lj eg hav emi gnog et morenmad    Natmaden.
 PS . synd for alle dem med popupstopper, for det kan jo sagtens bruges til noget.
 Her er en lille "plugin" til dit script
 | Kode <html>
 <head>
 <title>RYST</title>
 <script language="JavaScript1.2">
 <!-- Begin
 function ryst(n) {
 if (self.moveBy) {
 for (i = 8; i > 0; i--) {
 for (j = n; j > 0; j--) {
 self.moveBy(0,i);
 self.moveBy(i,0);
 self.moveBy(0,-i);
 self.moveBy(-i,0);
 }
 }
 }
 }
 // End -->
 </script>
 </head>
 <body>
 <form><input type=button onclick="ryst(15)" value="RYST"></form>
 </body>
 </html>
 | 
Og jow, den virker hos mig    |  |  | 
 | |  | Du har følgende muligheder |  | 
 |  | 
            
               
                    Eftersom du ikke er logget ind i systemet, kan du ikke skrive et indlæg til dette spørgsmål.
 Hvis du ikke allerede er registreret, kan du gratis blive medlem, ved at trykke på "Bliv medlem" ude i menuen.
 |  |  | 
 |  |