Flash und Popup

mardazad

Erfahrenes Mitglied
Hallo allerseits,
ich habe ein SEHR DRINGENDES Problem. Ich habe im ersten Frame der Zeitleiste folgenden Code platziert:
PHP:
_global.javascript = new Object(); // _global javascript object..

javascript.runScript = function(s) {
	getURL("javascript:"+s+"void(0);", "_blank");
};

javascript.openWindow = function(u, w, h, f) {
	var sW = System.capabilities.screenResolutionX;
	var sH = System.capabilities.screenResolutionY;
	if (sW>2000) sW /= 2; // if this is a double display, split it..
	f += ",width="+w+",height="+h+",top="+(sH/2-h/2)+",left="+(sW/2-w/2);
	s = "function o(u,w,f){window.open(u,w,f);}o('"+u+"','popup','"+f+"');";
	javascript.runScript(s);
};

...und rufe aus dem Contentbereich die openWindow-Funktion auf, mit den Angaben für url und Fenstermaßen.
Er öffnet auch ein Popup-Fenster wie er soll, nur daß unter Windows das eigentliche Fenster mit der Website auf die url "javascript:window.open('http://www.musterseite.de/movs/muster.mov','muster','width=435,height=325,toolbar=no,menubar=no,statusbar=no,scrollbars=no');" weitergeleitet wird und im Browserfenster "[object window]" angezeigt wird.

Natürlich soll die eigentliche Website im Browserfenster bleiben und lediglich ein Popup darüber aufgehen, in dem das .mov abläuft.

Im Safari aufm Mac läufts alles wie es soll, nur machen Netscape und IE aufm PC nicht mit.

Kann mir da bitte jemand weiterhelfen? Ich habe versucht mir mit "_blank" in java.runscript zu helfen, aber das wars nicht...

Vielen Dank

PS: die Fensternamen werden auch nicht richtig angezeigt (geht im Safari auch)?!...
 
Zuletzt bearbeitet:
Hi,

Probiers mal so:
PHP:
javascript.openWindow = function(u, w, h, f) {
	var p = "width=" + w + ",height=" + h + "," + f;
	var fn = "window.open('" + u + "', 'popup', '" + p + "');";
	trace(fn);
    getURL("javascript:"+fn+";void(0);");
}
(Läuft zumindest mit Firefox und IE 6)

Sprich: Wozu ne neue Funktion in JS definieren, wenns der Funktionsaufruf auch so tut.

Gruß
.
 
Bei mir läuft es mit z.B. diesem Aufruf:
PHP:
javascript.openWindow("", 320, 200, "");
Was übergibst Du der Funktion als Parameter "f"? Was gibt die trace-Aktion bei Dir aus, wenn Du es in der Vorschau testest?

Gruß
.
 
Hi,
es wird "0" getraced. Was das "f" soll frag ich mich jetzt auch. Ich habe es rausgelöscht, das swf neu hochgeladen und immernoch das selbe Problem.

Vielleicht übersehe ich ja irgendwas. Wenn man im Contentbereich den Button klickt wird folgende Funktion aufgerufen (url_a, fn_a, w_a usw sind Variablen die ausm xml ausgelesen werden):

PHP:
function jsFunktiona(url){

	getURL("javascript:window.open('http://www.musterseite.de/"+url_a[p]+"','"+ fn_a[p] + "','width="+ w_a[p] +",height="+ h_a[p] +",toolbar=no,menubar=no,statusbar=no,scrollbars=no');");//java test

}
 
Okay,
voll blöd Mittlerweile hab auch ich gerafft, daß das geturl aus dem letzten Beitrag an sich auch ausreicht um das PopUp zu öffnen.
Nur das Problem bleibt...
 
Hallo Datic,
dein File unterscheidet sich ja kaum von meinem, funktioniert aber. Ich habe bei mir nämlich das void(0); vergessen:

PHP:
function jsFunktiona(url){ 

    getURL("javascript:window.open('http://www.musterseite.de/"+url_a[p]+"','"+ fn_a[p] + "','width="+ w_a[p] +",height="+ h_a[p] +",toolbar=no,menubar=no,statusbar=no,scrollbars=no');void(0);");//java test 

}

Allerdings funktioniert weder in deinem noch in meinem File die richtige Anzeige des Fenstertitels. Hast du ne Idee woran das liegen kann?

Danke erstmal...
 
... woher soll ich wissen, was bei Dir in "url_a[p]" bzw. in "p" steht?

Ansonsten: Soweit ich weiß, wird der Titel der Seite, die geöffnet wird, übernommen. Öffnest Du ein leeres Fenster, in das Du Code schreiben kannst, kannst Du das title-Tag natürlich selbst hineinschreiben:
PHP:
function openWindow(url, tit, w, h, paras) {
	var p = "width=" + w + ",height=" + h + "," + paras;
	var fn = "var w = window.open('" + url + "', '" + tit + "', '" + p + "');";
	fn += 'w.document.open();';
	fn += 'w.document.write("<!DOCTYPE html PUBLIC \'-//W3C//DTD HTML 4.01 Transitional//EN\'><html><head><title>' + tit + '</title></head><body></body></html>");';
	fn += 'w.document.close();';
	trace(fn);
    getURL("javascript:" + fn + ";void(0);");
}


Gruß

P.S.: Übersichtlicher wirds übrigens m.E., wenn Du solche JavaScript-Funktionen in Deiner html-Seite notierst, und sie von Flash aus nur noch per getURL aufrufst.
.
 
Hi,
danke aber es haut nicht hin. Er zeigt jetzt zwar die Fensternamen an, lädt deren Inhalt aber nur im Safari....
 

Neue Beiträge

Zurück