Toon posts:

[js]pop-up werkt op mac maar niet op windows....

Pagina: 1
Acties:

Verwijderd

Topicstarter
Vraagje: ik heb een frame met daarin een aantal rollover foto's. Wanneer je hierop klikt moet er een popup venster geopend worden..... en ja het werkte!!!! Totdat ik het op een windows checkte :'( eerst wordt er een extra pagina geopend, met in de titelbalk javascript:void(0). Wanneer je dit venster sluit staat daar wel gewoon mijn pop-up.....

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script language="javascript">
    var mijnVenster;
    
    function nieuwVenster(foto,w,h,) {
    extra = "toolbar=0,location=0,directories=0,status=0,menubar=0";
    extra += ",scrolbars=0,resizable=0,width=";
    extra += w + ",height=" + h;
    if (mijnVenster !=null)
    if (!mijnVenster.closed) mijnVenster.close();
    mijnVenster = window.open(foto,"n",extra);
    }
    </script>


<td align="center" valign="middle" bgcolor="#666666" width="55" height="48"><a onmouseover="changeImages('nr13','galleryxs/nr1a.jpg');return true" onmouseout="changeImages('nr13','galleryxs/nr1.jpg');return true" href="javascript:void(0)" onClick="window.open('http://www.rop.nl/foto1.html','popup','height=460,width=338,fullscreen=no,location=no,menubar=no,status=no,toolbar=no,scrollbars=no,resizable=no')"target="_blank"><img id="nr13" src="galleryxs/nr1.jpg" alt="" name="plintnr13" width="37" height="37" border="0"></a></td>

[ Voor 18% gewijzigd door crisp op 06-01-2005 17:50 . Reden: code-tags ]


  • InZane
  • Registratie: Oktober 2000
  • Laatst online: 11:08
Verwijderd schreef op donderdag 06 januari 2005 @ 11:45:
Vraagje: ik heb een frame met daarin een aantal rollover foto's. Wanneer je hierop klikt moet er een popup venster geopend worden..... en ja het werkte!!!! Totdat ik het op een windows checkte :'( eerst wordt er een extra pagina geopend, met in de titelbalk javascript:void(0). Wanneer je dit venster sluit staat daar wel gewoon mijn pop-up.....

...
Ik snap niet dat je een functie erboven hebt staan die je vervolgens niet gebruikt, maar goed :?

Dit werkt prima bij mij:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<script type="text/javascript">
var mijnVenster;

function nieuwVenster(foto,w,h) {
    extra = "toolbar=0,location=0,directories=0,status=0,menubar=0";
    extra += ",scrolbars=0,resizable=0,width=";
    extra += w + ",height=" + h;
    if (mijnVenster !=null)
    if (!mijnVenster.closed) mijnVenster.close();
    mijnVenster = window.open(foto,"n",extra);
}
</script>


<td align="center" valign="middle" bgcolor="#666666" width="55" height="48">
    <a href="#" onClick="nieuwVenster('woei.html', 338, 460);">[img]"galleryxs/nr1.jpg"[/img]</a>
</td>

[ Voor 45% gewijzigd door InZane op 06-01-2005 12:21 ]


Verwijderd

Topicstarter
ksnap der niks meer van... href="#" resulteerd in een nieuwe pagina van het frame met de fotogallery xs foto's. ......
Ik zit al de hele dag te frutsen, iemand nog een waardevolle tip!
Hoe krijg ik ten eerste die 2e pagina weg?

  • Stetho
  • Registratie: Oktober 2004
  • Laatst online: 13:19
En als je het als volgt doet?
Helpt dat wat?

##############
function myWindow(mylink)
{
window.open(etc.etc)
}

<a href="javascript:myWindow('mylinkje.html');">klik hier</a>

I'm a bit .... confused. I find the Rails framework sexy. Is that wrong? Am I dirty?


  • RM-rf
  • Registratie: September 2000
  • Laatst online: 12:59

RM-rf

1 2 3 4 5 7 6 8 9

Wat wil je hier precies mee?
code:
1
2
3
if (mijnVenster !=null)
if (!mijnVenster.closed) mijnVenster.close();
mijnVenster = window.open(foto,"n",extra);


het is erg lelijke code, twee if-conditions die wel opeenvolgend zouden moeten werken,
eerst de controle of mijnVenster niet NULL zou zijn (waarom, wat is er slecht eraan als mijnVenster null is voordat het venster gecreerd wordt?), dan een controle of mijnvenster.closed true is, ook hier waaroim, mijnVenster is een global variabele, bestaan er meer functies die aanspraak doen op mijnVenster? en waarom wil je hem closen als de closed property bestaat ...

oftewel, vervang dat hele brok door een simpele:
code:
1
mijnVenster = window.open(foto,"n",extra);

dat is wat je wil en dat voldoet daar ook .. :)

overigens:
void() is gewoon een functie die altijd false retourneert, een handige methode om bepaalde acties te cancelen, immers je wilt niet dat de HREF werkelijk wordt uitgevoerd (dat heeft namelijk meer consequenties, dat stopt ook eventueel laden van een pagina, eventuele opbouw en de animaties erin).
je kunt in dit geval waarschijnlijk volstaan met href="javascript:;"

[ Voor 20% gewijzigd door RM-rf op 06-01-2005 16:42 ]

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Verwijderd

Topicstarter
ik heb gedaan wat je zei, maar nog steeds opend hij een extra pagina (een lege pagina met in de balk: javascript:;). Wanneer je deze pagina sluit staat erachter wel de juiste popup....

Verwijderd

Iets verbeterde versie:
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<script type="text/javascript">
var mijnVenster = null;

function nieuwVenster(foto,w,h) {
    extra = "toolbar=0,location=0,directories=0,status=0,menubar=0";
    extra += ",scrolbars=0,resizable=0,width=";
    extra += w + ",height=" + h;
    if (mijnVenster && !mijnVenster.closed)
         mijnVenster.close();
   mijnVenster = window.open(foto,"n",extra);
   return false;
}
</script>


<td align="center" valign="middle" bgcolor="#666666" width="55" height="48">
    <a href="woei.html" target="_blank" onClick="return nieuwVenster(this.href, 338, 460);" title="Open afbeelding woei in een nieuw venster.">[img]"galleryxs/nr1.jpg"[/img]</a>
</td>
  • Werkt nu ook in browsers met javascript disabled.
  • Variabele wordt geinitialiseed op null.
  • Indenting iets verbeterd tbv leesbaarheid.
  • Function returned false om href te cancelen.
  • Title tag toegevoegd ivm drempelsweg-compliancy.
RM-Rf: dat stuk met mijnvenster.closed etc sluit de huidige popup als die er is... dus weghalen

Verwijderd

Topicstarter
deze laatste optie opent nog steeds 2 venster, met als verschil dat de foto die in de popup verschijnt, nu ook in het voorheen lege venster verschijnt.Ook is de popup niet meer in het juiste formaat (fullscreen)

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:46

crisp

Devver

Pixelated

Misschien handig als je ook vermeld in welke browser + versie je het checked onder windows, en of daar nog eventuele andere software op draait zoals virusscanner, firewall, popupblockers etcetera..
M.i. zou de code van Thargol gewoon goed moeten werken...

Intentionally left blank


Verwijderd

Topicstarter
Het script van thargol werkt idd, daar ben ik echt super blij mee thanx!!!!!!
Een schoonheidsfoutje: het popup-venster past zich niet aan aan de opgegeven afmetingen (fullscreen), ook de title neemt hij niet over... waar zou dat aan kunnen liggen?

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 13:46

crisp

Devver

Pixelated

De title moet komen van het title-element in de head-sectie van de html doe je in je popup laadt. Het 2e argument wat je meegeeft in je window.open() is niet de titel, maar het name-attribuut voor het window-object.
verder is de fullscreen-optie win/IE-only

Intentionally left blank


Verwijderd

Topicstarter
crisp schreef op zaterdag 08 januari 2005 @ 23:45:

verder is de fullscreen-optie win/IE-only
Wat bedoel je met win/IE-only? Wil dat zeggen dat dit script op win/IE alleen maar fullscreen kan worden weergegeven?
Pagina: 1