Toon posts:

[js] window.open mac OS X

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb het volgende probleem met IE5.2 en NS op Mac OS X.

Ik heb een pop-up scherm met daarin een Flash filmpje.
Vanuit dat flashfilmpje roep ik een js functie aan die een
nieuwe pop-up moet openen.

De functie in js ziet er op dit moment als volgt uit (niet relevante
code weggehaald):
code:
1
2
3
4
5
6
function pop(url) { 
properties = "width=" + w + ",height=" + h + ",scrollbars=yes,resizable=yes,personalbar=no,status=yes" + ",top=" + nYpos + ",left=" + nXpos + ",screenY=" + nYpos + ",screenX=" + nXpos;

window.open(url, 'Intranet', properties);
window.open(url, 'Intranet', properties);
}

Nu valt je waarschijnlijk waarschijnlijk direct op dat
de 'window.open' tweemaal wordt aangeroepen. Het
probleem is namenlijk dat bij de eerste 'window.open'
zowel NS als IE op Mac OS X de melding geven:
"The attempt to load 'Accessing URL: http://www.voorbeeld.com/voorbeeld/voorbeeld.php' failed"
Als je dan op 'oke' klikt dan wordt de pagina alsnog door
de tweede 'window.open' (letwel, er wordt geen tweede popup geopend)
geladen. Als ik de tweede 'window'.open' zou weglaten dan blijft
de pagina 'blanc'.

Ik heb al een aantal dingen geprobeerd, maar het lukt mij maar niet om die
foutmelding weg te krijgen. Op de een of andere manier lukt het de browsers op
Mac OS X niet om in eerste instantie een pagina te vinden en toe te kennen aan
de geopende popup.

Zo heb ik bijvoorbeeld het volgende geprobeerd:
code:
1
2
window.open('', 'Intranet', properties);
window.open(url, 'Intranet', properties);

Waarbij dus bij de eerste 'window.open' geen pagina wordt toegewezen aan de
popup. Echter dan komt die foutmelding gewoon weer bij de
tweede 'window.open'.

Het vreemde is dat in eerste instantie als een bezoeker op de pagina komt en er
dan automatisch een popup (met een andere naam dan 'Intranet') wordt geopend
met een Flash filmpje dit wel goed werkt en als ik dan vervolgens vanuit Flash een
nieuwe popup wil openen dit niet mogelijk lijkt te zijn zonder genoemde
foutmelding te krijgen.

Ten slotte heb ik ook nog geprobeerd om de popup te open vanuit een gewone
browser scherm met Flash i.p.v vanuit een bestaande popup. Ook dan krijg ik nog
steeds dezelfde foutmelding.

Ik begrijp dus niet waarom de ene keer een popup openen middels 'onload' wel
werkt en als ik excact dezelfde functie vanuit Flash aanroep ik de eerste keer
genoemde foutmelding krijg :?

Alle uitgeprobeerde varianten werken wel in IE 6, NS 7 op WinXP en in IE en NS
onder Mac OS 9. Onder Mac OS X is er dus één of ander probleem die ik niet kan
achterhalen.

Alle tips zijn zeer welkom.

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

en als je een gewone popup opent, dus zonder al die dynamisch gegenereerde afmeting-shit?

code:
1
window.open('blaat.html',Intranet','scrollbars=yes');

Werkt dat wel?
Dan kun je eenvoudiger vinden waar de fout zit door langzaam uit te bouwen met de vereiste onderdelen.

Hier kun je alle vereiste en vooral de juiste syntax vinden voor een popup.

edit:
je kunt je popup die je vanuit de popup 'Intranet' opent ook beter een andere naam geven...anders refereer je naar zichzelf.

www.jurgroessen.nl


Verwijderd

deze heb ik zelf gebruikt voor een pop-up vanuit flash, klant was een grafisch ontwerper die alles op een MAC doet, ik weet niet of 'ie OSX draait maar dit lijkt te werken bij hem:


<SCRIPT LANGUAGE="JavaScript"> var javascript_version = 1.0;</SCRIPT>
<SCRIPT LANGUAGE="JavaScript1.1"> javascript_version = 1.1;</SCRIPT>


<SCRIPT LANGUAGE="JavaScript">

var newwin;

function launchwin(winurl,winname,winfeatures)
{
newwin = window.open(winurl,winname,winfeatures);
if(javascript_version > 1.0)
{
setTimeout('newwin.focus();',250);
}
}
</SCRIPT>

waarbij je aan weet ik wat in flash dit hangt:

javascript:launchwin('blaat.htm' , 'newwindow' , 'height=200,width=350')

wellicht dat dit je iets helpt?

Verwijderd

Topicstarter
Helaas, het mag allemaal niet baten.

Heb ondertussen ook het volgende geprobeerd, maar dat geeft ook eerder genoemde foutmelding:
code:
1
2
test = window.open('', 'Intranet', properties);
test.location = url;


edit:
edit:
je kunt je popup die je vanuit de popup 'Intranet' opent ook beter een andere naam geven...anders refereer je naar zichzelf.
Klopt, de naam 'Intranet' is ook al anders dan de naam van de popup vanwaaruit de popup geopend moet worden.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

test.location.href = url :?

location is het location-object. href is de string property met de url.

Verwijderd

Topicstarter
Bosmonster schreef op 05 november 2002 @ 17:02:
test.location.href = url :?

location is het location-object. href is de string property met de url.
Helaas, dat werkt ook niet. Het begint toch steeds meer op een Mac OS X specifiek bugje te lijken.

Verwijderd

Topicstarter
Oké, ik ben erachter waar de fout zat.

Ik maakte gebruik van relatieve paden. Alhoewel NS en IE onder Mac OS X met een foutmelding kwamen waarin het juiste pad stond kunnen 'ze' het in eerste instantie niet vinden.

Wat blijkt, als ik absolute paden gebruik (http://blabla) dan is het probleem opgelost.
Pagina: 1