Avatar billede moroax Nybegynder
29. juli 2001 - 00:52 Der er 8 kommentarer og
3 løsninger

Luk et vindoe som ikke findes

i et popup vindue vises alle billeder i en mappe,
sådan her:
\"[pic-type icon] [picnavn.jpg] [slet] [vis]\"
HVIS der trykkes på picnavnet, sendes denne værdi tilbage til main siden og lukker vinduet således: myVin2.close();self.close();

Her er den så,
myVin2 er navnet på det ekstra popup der kommer HVIS man trykker på [Vis] (billedet bliver så vist i det nye vindue )

MEN hvis man IKKE har trykket på [vis] - men kun trykker på billedet kommer den med fejlen
\"Fejl myVin2 er ikke defineret\"

Hvordan undgår man denne ??..

den eneste løsning jeg har kunne komme på er ved at inden myVin2.close() sættes denne her ind: java script:myVin2=window.open(\'\');

Meeeeen det ER sq da en skodløsning...
Avatar billede roenving Novice
29. juli 2001 - 00:54 #1
if (self.myVin2) {myVin2.close()};self.close();
Avatar billede roenving Novice
29. juli 2001 - 00:57 #2
Du skal altså simpelthen checke på om myVin2 er et object i pop-up\'en.

Det kræver dog, at du opretter det med:

var myVin2 = window.open( ... )

ellers er det jo ikke et object, som vinduet kender noget til !~)

=:-]
jes
Avatar billede olebole Juniormester
29. juli 2001 - 00:59 #3
<ole>
Du må heller sikre dig, det ikke er lukket ved, at brugeren har trykket på \'Luk\' knappen i caption bjælken:

    if (self.myVin2 && !self.myVin2.closed) {myVin2.close()};self.close();

/mvh
</bole>
Avatar billede olebole Juniormester
29. juli 2001 - 01:01 #4
...og du behøver slet ikke de der \'self\':

    if (myVin2 && !myVin2.closed) {myVin2.close()};self.close();
Avatar billede olebole Juniormester
29. juli 2001 - 01:03 #5
Hov....skal du overhovedet lukke det vindue, du kalder fra - eller er det bare roenving\'s opfindelse? Ellers:

    if (myVin2 && !myVin2.closed) {myVin2.close()}
Avatar billede roenving Novice
29. juli 2001 - 01:05 #6
>> olebole
Bemærk slutningen af 4 linie i moroax\' spm. <=;-))
Avatar billede olebole Juniormester
29. juli 2001 - 01:07 #7
roenving >> Undskyld, der overvurderede jeg dig...så opfindsom var du alligevel ikke!    =oD
/mvh
Avatar billede roenving Novice
29. juli 2001 - 01:09 #8
Nej f... nej; klokken er lige blevet lort
Avatar billede roenving Novice
29. juli 2001 - 01:12 #9
Forøvrigt,

så tror jeg da, at jeg oftest ville forsøge at lave det, så jeg havde check på det fra mit oprindelige window, da det jo er der, data skal bruges (hvis de da ikke bare skal gemmes i et felt).

Avatar billede moroax Nybegynder
29. juli 2001 - 16:08 #10
>> Har selv fundet svaret,
ser sådan ud:    if ( (typeof myVin2 == object)
        && myVin2 != null
        && !myVin2.closed
      ) myVin2.close();
    self.close()


i ØVRIGT kan brugeren IKKE trykke på \'Luk\' knappen i caption bjælken
- for der ER INGEN caption bjælke i mine popup vinduer ,-)
Hehehe....

* MoRoax...

men tak for hjælpen anyway,
- i må jo heller få lidy begge 2

Avatar billede olebole Juniormester
29. juli 2001 - 18:28 #11
Nej, det er ikke svaret...det fungerer nemlig ikke! Det gør det til gengæld, hvis du sætter gåseøjne om object:
  if ( (typeof myVin2 == \"object\")
...hvilket iøvrigt er totalt overkill at spørge om. Der er ingen reel funktionsmæssig forskel på, om du bruger din eller min:
  if (myVin2 && !myVin2.closed) {myVin2.close()};self.close();
...men hvis du mangler points, då ok da  :oD

Selvfølgelig kan brugeren da lukke vinduet i den captionbar, der er på alle dine popUp-vinduer....lige med undtagelse i IE under Windows. Alle andre browser/OS kombinationer forstår nemlig ikke \'fullscreen\'  =o)
/mvh
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