|
| Hvorfor virker window.open(...); ikke ? Fra : molokyle | Vist : 704 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.
| |
|
|