Avatar billede krogstrup Nybegynder
28. april 2004 - 00:37 Der er 9 kommentarer og
1 løsning

Problemer med popup link

Når jeg benytter dette link:

<A href="java script:window.open('/popup.asp?Brikketter01.jpg','win1','height=300,width=300');" target=_self>test</A>

åbner den rigtig nok et popup vindue, men hovedvinduet hvori mit link befinder sig skifter til en side hvor der står:

[object]

Hvordan undgår jeg dette ?

Det er meget vigtigt for mig at javascriptkoden der åbner popup vinduet fortsat står i a href feltet og IKKE i f.eks. onclick.
Avatar billede roenving Novice
28. april 2004 - 00:38 #1
Prøv:

<A href="java script:void(window.open('/popup.asp?Brikketter01.jpg','win1','height=300,width=300'));" target=_self>test</A>
Avatar billede krogstrup Nybegynder
28. april 2004 - 00:49 #2
godaften (godnat) roenving

mange tak - det virker perfekt !

Kunne du evt. hjælpe mig med at modificere nedenstående script således at popup vinduet også automatisk centreres på skærmen.


var temp=self.location.href.split("?");
var picUrl = (temp.length>1)?temp[1]:"";
var NS = (navigator.appName=="Netscape")?true:false;

function fitSize() {
  bred = (NS)?window.innerWidth:document.body.clientWidth;
  hoj = (NS)?window.innerHeight:document.body.clientHeight;
  bred = document.images[0].width - bred + 0;
  hoj = document.images[0].height - hoj + 0;
  window.resizeBy( bred, hoj );
  self.focus();
};
Avatar billede krogstrup Nybegynder
28. april 2004 - 00:50 #3
ovenstående resizer automatisk mit vindue til størrelsen af indholdet (et billede) - men hvis den samtidig kunne flytte popup vinduet til midten af skærmen ville det være helt perfekt :-)
Avatar billede roenving Novice
28. april 2004 - 00:59 #4
Tjah, jeg sværger selv til min egen løsning på det problem (se http://roenving.users.whitehat.dk/WD1ResizeTilBillede.html !-), som betyder, at du ikke behøver at hente noget mere fra serveren ...

Men en centrering:

function fitSize() {
  bred = (NS)?window.innerWidth:document.body.clientWidth;
  hoj = (NS)?window.innerHeight:document.body.clientHeight;
  bred = document.images[0].width - bred + 0;
  hoj = document.images[0].height - hoj + 0;
  window.resizeBy( bred, hoj );
  window.moveTo((screen.availWidth-bred)/2,(screen.availHeight-hoj)/2);
  self.focus();
};

-- og den samme øvelse kan nemt indbygges i mit script !-)
Avatar billede roenving Novice
28. april 2004 - 01:01 #5
Hov, det var jo omvendt, du resizer jo med noget !-)

function fitSize() {
  bred = document.images[0].width;
  hoj = document.images[0].height;
  window.resizeTo( bred, hoj );
  window.moveTo((screen.availWidth-bred)/2,(screen.availHeight-hoj)/2);
  self.focus();
};
Avatar billede roenving Novice
28. april 2004 - 01:01 #6
-- og velbekomme '-)
Avatar billede krogstrup Nybegynder
28. april 2004 - 01:10 #7
hmmm - nu centrerer den korrekt, men den resizer en anelse for meget. Der bliver choppet lidt både i højden og bredden ?!?
Avatar billede roenving Novice
28. april 2004 - 01:17 #8
Arh, ja, resizeBy har jo den fordel, at den kun flytter størrelsen, så chromens bredde er uberørt ...

Ja, i min løsning, har jeg valgt at se bort fra de forskelle, som er i chrome-bredde (fordi det fylder nogle linjer kode, som jeg gerne vil undgå der !-), og så bare tillægge nogle faste værdier, er det godt nok ?-)

function fitSize() {
  bred = document.images[0].width+6;
  hoj = document.images[0].height+32;
  window.resizeTo( bred, hoj );
  window.moveTo((screen.availWidth-bred)/2,(screen.availHeight-hoj)/2);
  self.focus();
};
Avatar billede krogstrup Nybegynder
28. april 2004 - 01:24 #9
perfekt - mange tak for hjælpen :-)
Avatar billede roenving Novice
28. april 2004 - 01:26 #10
-- og tak for point ;~}
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