login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[JS] probleem met popup

Offline Simon - 03/04/2006 13:24 (laatste wijziging 03/04/2006 13:26)
Avatar van SimonPHP expert Alles werkt perfect in FF, maar niet in IE
dit werkt in FF EN IE
  1. function showmap() {
  2. window.open('game/map.php','Map',
  3. 'toolbar=no,location=no,scrollbars=yes,resizable=yes')
  4. }

dit is om de gehele map te openen...
(alhoewel in IE7 de location niet wordt weggenomen )
en dit is het stukje dat WEL in FF werkt, en niet in IE(7), ik krijg geen popup van een mapdetail
  1. <?php
  2. <td>
  3. <a onclick=\"javascript:window.open('mapdetail.php?id=".$data['nr']."','Detail Map','toolbar=no,location=no,scrollbars=yes,resizable=yes,width=800,height=200')()\">
  4. <img src=\"../landschappen/".$data['url']."\" style=\"border:1px solid #FFFFFF;\" />
  5. </a>
  6. </td>
  7. ";
  8. ?>

Als ik in IE(7) druk op een stukje, krijg ik "Error on page"

Ik begrijp het niet echt 

15 antwoorden

Gesponsorde links
Offline BramBo - 03/04/2006 13:28
Avatar van BramBo JS gevorderde Heb zelf hier geen IE7 tot mijn beschikking maar, zie zo'n klein foutje zitten na window.open(bla) doe je nogmaals () ipv ;

Verder zie ik er zo inderdaad geen problemen in.
Offline Simon - 03/04/2006 13:30 (laatste wijziging 03/04/2006 13:40)
Avatar van Simon PHP expert dat heb ik veranderd, maar nog steeds niets 

http://www.mari...me/map.php
hier is de map, probeer maar es, nog iets raar is de width:
in FF moet ik veel width zetten om een klein kadertje te hebben, in Opera is dat dan weer veel te wijd 

ook werkt de cellspacing niet echt in IE, wel in FF en opera

iemand?
Offline Thomas - 03/04/2006 13:41
Avatar van Thomas Moderator Ik heb dit ook al eerder meegemaakt - IE heeft blijkbaar moeite met relatieve paden in het eerste argument van window.open().

Gebruik het volledige pad (http://www.mariadoc.buildtolearn.net/Simon/game/mapdetail.php?id=XX) en dan zou je probleem opgelost moeten zijn (als je code verder klopt).
Offline BramBo - 03/04/2006 13:51
Avatar van BramBo JS gevorderde Hier werkt het in Opera(v8.53), maar je geeft als width 960, je dient officieel ook nog px/em oid mee te geven.

Verder kan je de popup als functie maken, zoals je ook de map opent maar geef je de url mee dus :
  1. function lala(url) {
  2. // popup
  3. }
  4.  
  5. href="javascript:lala('http://asdasd');"


Het is altijd een beetje gekloot met tables en spacing in ie. Hier alles over tables http://www.w3.org/TR/CSS21/tables.html

het zou evt. border-collapse, cellspacing px definieeeren. In principe hoef je cellspacing niet te definiëeren als je de table stijlt met css meer hierover op w3.org link /\
Offline Simon - 03/04/2006 13:51 (laatste wijziging 03/04/2006 13:56)
Avatar van Simon PHP expert en die width, weet iemand hoe dat komt?

@fangorn, ik test het direct uit 
damit, dat helpt nie

@bram
  1. function showdetail(url) {
  2. window.open(url,'Detail Map',
  3. 'toolbar=no,location=no,scrollbars=yes,resizable=yes,width=600,height=200')
  4. }

zoiets? ik kan niet zo goed JS
Offline BramBo - 03/04/2006 14:00
Avatar van BramBo JS gevorderde yup ziet er goed uit zo.
Offline Simon - 03/04/2006 14:02 (laatste wijziging 03/04/2006 14:03)
Avatar van Simon PHP expert ok thx, het werkt, maar de breedte is nu perfect in opera, maar ik barslecht in FF, width=400px werkt niet echt
en IE doet het nog steeds niet, zelfs niet met die functie
Offline Thomas - 03/04/2006 14:07 (laatste wijziging 03/04/2006 14:09)
Avatar van Thomas Moderator ARGH ><

Je moet je window.open()-functie op één regel schreven, anders breek je de functie...

Dus niet
  1. function showdetail(url) {
  2. window.open(url,'Detail Map',
  3. 'toolbar=no,location=no,scrollbars=yes,resizable=yes,width=400,height=200')
  4. }


Maar
  1. function showdetail(url) {
  2. window.open(url,'Detail Map','toolbar=no,location=no,scrollbars=yes,resizable=yes,width=400,height=200')
  3. }


En het is beter (voorkomt problemen) om volledige URL's te gebruiken, dan is er namelijk geen ruimte meer voor een browser-specifieke interpretatie van een relatieve URL...
Offline Simon - 03/04/2006 14:10 (laatste wijziging 03/04/2006 14:12)
Avatar van Simon PHP expert ik deed al de volledige url hoor 
ik zal es proberen met op 1 lijn te doen
het is dan wel raar dat showmap() wel werkt 
EDIT:grr, f***ing klote IE, het werkt nog steeds niet
en de cellspacing werkt ook nie, ik bergijp der niks van
en die width werkt ook nog niet in FF, alles is perfect in Opera :-)
maar FF doet moeilijk over width en IE over het openen van een popup
Offline Thomas - 03/04/2006 14:16
Avatar van Thomas Moderator Misschien moet je ook href="#" toevoegen, zodat ie het als hyperlink ziet?

En misschien onclick="javascript:void(je_functie(...))" ?
Offline Ontani - 03/04/2006 14:19
Avatar van Ontani Gouden medailleGouden medailleGouden medailleGouden medaille

-1
void hoeft niet (denk ik).
maar die # zou ik vervangen door javascript:;

# zorgt ervoor dat je naar de top van je pagina gaat, is vervelend als je een scrollbar hebt.
Offline BramBo - 03/04/2006 14:22
Avatar van BramBo JS gevorderde Zelf gebruik ik altijd deze functie voor een popup :

  1. function PopUp(url, name, width,height,center,resize,scroll,posleft,postop)
  2. {
  3.  
  4. if (posleft != 0) { x = posleft }
  5. if (postop != 0) { y = postop }
  6. if (!scroll) { scroll = 1 }
  7. if (!resize) { resize = 1 }
  8. if ((parseInt (navigator.appVersion) >= 4 ) && (center)) {
  9. X = (screen.width - width ) / 2;
  10. Y = (screen.height - height) / 2;
  11. }
  12.  
  13. if (scroll != 0) { scroll = 1 }
  14.  
  15. var Win = window.open( url, name, 'width='+width+',height='+height+',top='+Y+',left='+X+',resizable='+resize+',scrollbars='+scroll+',location=no,directories=no,status=no,menubar=no,toolbar=no');
  16. }


Roep je aan als :
  1. <a href="javascript:PopUp('http://url.nl','Titel','400','200','0','0','0','1')"></a>
Offline Simon - 03/04/2006 14:24 (laatste wijziging 03/04/2006 14:27)
Avatar van Simon PHP expert dus, ipv onclick, moet ik href gebruiken?

EDIT: pfft, werkt nog steeds niet
Offline BramBo - 03/04/2006 14:28
Avatar van BramBo JS gevorderde Yup, kan. Hoef je geen # te gebruiken. Verder zou je die functie kunnen gebruiken mocht je dat wensen, of naast elkaar leggen om op verschillen te controleren.
Offline Simon - 03/04/2006 14:36 (laatste wijziging 03/04/2006 14:51)
Avatar van Simon PHP expert het werkt nog steeds niet 
mss moet ik maar een melding zetten dat ze FF moeten downloaden voor een goede werking 

EDIT: ik heb het gekunnen!

  1. mappop=window.open('http://www.mariadoc.buildtolearn.net/Simon/game/mapdetail.php?id='+xid,'Landinfo','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width=600,height=200,left=0,top=0');
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.252s