Archivlink: javarea.de Forum > JavaScript > Problem: Fenster von einem anderen Fenster aus schließen
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > Problem: Fenster von einem anderen Fenster aus schließen
Pages: [1]
| geschrieben von Japhy am 19.10.2005 - 10:10 |
Hallo!
Ich würde gern ein Fenster welches mit JavaScript geöffnet wurde wieder schließen.
Hier der Code (in PHP eingebettet) mit dem das Fenster geöffnet wird:
echo "<script type='text/javascript'>\n";
echo "fenster = window.open(\"\", \"Fenster1\", \"width=1,height=1,left=0,top=0\");\n";
echo "fenster.document.write(\"<bgsound src='hintergrundlaerm.mp3' loop='infinite'>\");";
echo "fenster.blur();\n";
echo "</script>\n";
Und so hab ich mir gedacht sollte das Fenster wieder geschlossen werden (dieser Code befindet sich auf der gleichen Seite wie der aufrufende Code):
echo "<script type='text/javascript'>\n";
echo "fenster.close();\n";
echo "</script>\n";
Diese Seite wird öfter aufgerufen. Es wird dabei über Variablen überprüft ob das Fenster geöffnet werden soll, ob es bereits geöffnet ist und ob es geschlossen werden soll.
Ich hoffe es ist halbwegs verständlich....
Würde mich über jeden Tipp freuen!
lg,
Japhy |
| geschrieben von René am 19.10.2005 - 10:52 |
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
|
<?php
echo <<<EOF
<script language="JavaScript" type="text/javascript">
<!--
var fenster = NULL;
function open_sound()
{
fenster = window.open('', 'fenster', 'width=1,height=1,left=0,top=0');
fenster.document.write('<bgsound src="./hintergrundlaerm.mp3" loop="infinite">');
fenster.blur();
}
//-->
</script>
EOF;
/*****/
echo <<<EOF
<script language="JavaScript" type="text/javascript">
<!--
function close_sound()
{
if (fenster)
fenster.close();
}
//-->
</script>
EOF;
/*****/
echo <<<EOF
<a href="javascript:open_sound();">Sound On</a>
<a href="javascript:close_sound();">Sound Off</a>
EOF;
?>
|
|
| geschrieben von Japhy am 19.10.2005 - 11:24 |
Vielen Dank für die rasche Antwort!
Werd' ich heute noch ausprobieren.
lg,
Japhy |
| geschrieben von Japhy am 20.10.2005 - 10:30 |
Hi nochmal!
Also, ich hab dein Script abgeändert, der IE (den muß ich leider verwenden) hat mir sonst Fehlermeldungen ausgespuckt. Dieses hier läuft:
| PHP-Quelltext | 1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
|
<?
if ($condition==1 OR $condition==5 OR $condition==3 OR $condition==7)
{
if ($laermfenster==0)
{
$laermfenster=1;
echo "<script type='text/javascript'>\n";
echo "var fenster;\n";
echo "fenster = window.open(\"\", \"fenster\", \"width=1,height=1,left=0,top=0\");\n";
echo "fenster.document.write(\"<bgsound src='hintergrundlaerm.mp3' loop='infinite'>\");\n";
echo "fenster.close();\n";
echo "</script>\n";
}
}
else if ($condition==2 OR $condition==4 OR $condition==6 OR $condition==8)
{
if ($laermfenster==1)
{
echo "<script type='text/javascript'>\n";
echo "fenster.close();\n";
echo "</script>\n";
}
}
?>
|
Allerdings wird das Fenster nicht geschlossen. Statt dessen bekomme ich die Fehlermeldung daß fenster nicht definiert ist. Ist auch irgendwie klar. Aber wie könnte ich das umgehen?
Die Seite wird wie gesagt öfter durchlaufen. Irgendwann wird das Fenster geöffnet (das wird durch die condition-Variable bestimmt) und irgendwann später wieder geschlossen.
lg,
Japhy |
|