Fenster schliessen

mardazad

Erfahrenes Mitglied
Hallo allerseits,
vorweg: ich hab keinen blassen Schimmer von JS, aber habe es mittlerweile hingekriegt folgendes Script zu erstellen:

PHP:
<html>
<head>
<title>email schicken</title>
<meta name="Content-Type" content="text/html; charset=iso-8859-1">
<script language="JavaScript">
<!--function macheFenster()   
close()
{   var newWindow = window.open('email.html','email','status=no,location=no,resizable=no,menubar=no,scrollbars=no,width=380,height=580')
   }// --></script>


 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head>

<body bgcolor="#FFFFFF">
</body>
</html>

Es funktioniert soweit auch ganz gut, nur leider verlangt der IE unter Windows eine Bestätigung ob er das alte Fenster schliessen darf, statt es einfach zu tun. Wie kann ich das umgehen?

Danke schonmal...
 
Sven Mintel hat gesagt.:
Garnicht... ohne diese Abfrage lassen sich nur Fenster schliessen, welche per open() geöffnet wurden.
Und das ist auch gut so.
Schließlich habe ich oben rechts so ein kleines x mit dem ich das Fenster selber schließen kann, wenn ich es möchte.
Zwei sinnlose Links auf Webseiten:
Print this Window
Close this Window
Das kann mein Browser auch so.
 
Eigentlich möchte ich nur ein Popup-Fenster haben, daß sich OnRelease aus der Flash-HP heraus öffnet. Klickt man bspw. auf "email" geht bei mir erstmal ein leeres Fenster auf, von dem aus das Popup aufgerufen wird. Jetzt erscheint die Abfrage ob das leere und nutzlose Fenster geschlossen werden darf.
Ich möchte eigentlich nur, daß das email-Fenster über meine HP popt, ohne daß der User erstmal die Zwischenseite schliessen muß...

Kann mir da bitte jemand weiterhelfen...?
 
Hi,

das geht aus Flash auch ohne dass ein zusätzliches Fenster geöffnet wird. Trick: Schreibe in Deine Seite eine JavaScript-Funktion "openPopup(seite, breite, hoehe)", die nichts weiter tut, als die als Paramater übergebene Seite mit window.open zu öffnen. Nun kannst Du diese Funktion aus Flash heraus mit getURL aufrufen, ohne dass sich ein extra-Fenster öffnet:
PHP:
on(release) {
    var seite = "http://www.seite.de";
    getURL("javascript:openPopup('" + seite + "', 320, 240)");
}

Gruß
.
 
Hi,
danke aber wenn ich es so mache passiert im IE garnichts (Mac) in Safari kriege ich folgende Fehlermeldung:
Safari kann das Skript „openPopup('http://www.blablabla.de', 320, 240)“ nicht ausführen, da Safari es nicht erlaubt, JavaScript in dieser Weise zu benutzen.

Weißt du da Rat?...
 
Tja, das sind dann wohl Browser- (und Betriebssystem-)spezifische Restriktionen; wie gesagt: im Opera (win) habe ich es auch nie zum Laufen bekommen. Flash und JavaScript ist sowieso immer so eine Sache, die ich nach Möglichkeit vermeiden würde (und wenn dann nur als zusätzliches Feature anbieten). Ein nicht-JS-Browserfenster wirst Du jedenfalls nicht ohne Sicherheitsabffrage schliessen können (bei meinen JS-Einstellungen z.B. sogar überhaupt nicht); JS-Funktionen aus Flash heraus ausführen, klappt zumindest unter Windows in den beiden größten Browsern, sofern die Benutzereinstellungen das zulassen. Entscheide Dich.

Gruß
.
 
@Sven:

Ups! fscommand gibts natürlich auch noch - eine Aktion, dessen Existenz ich beinahe verdrängt habe. ;)

@mardazad:

Also, wenn Du beides verwendest (getURL und fscommand) bist Du flexibler. Mehr zu fscommand findest Du auch in der internen Flashhilfe. Tipp: Wenn Du eine html-Seite direkt von Flash erzeugen lässt (Veröffentlichen), kannst Du JS mit fscommand anwählen und die benötigte Funktion wird Dir automatisch erstellt.

Gruß
.
 

Neue Beiträge

Zurück