| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: fenster schliessen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige ich sitze seit ein paar tagen vor einem "banalen" problem und hab fast keine haare mehr auf dem kopf. ...
![]() |
| | #1 (permalink) |
| Registriert seit: 13.01.06 ![]() Likes: 0 | Anzeige ich sitze seit ein paar tagen vor einem "banalen" problem und hab fast keine haare mehr auf dem kopf. ich möchte ein mit js geöffnetes fenster wieder schliessen: Code: <html>
<head>
<script language="JavaScript">
var fenster;
function warte () {
fenster = window.open ('./fenster.php', 'fenster', 'width=200,height=100,toolbar=no,scrollbar=no,status=no');
}
function windowclose () {
var fenster.close ();
}
</script>
</head>
<body>
<a href="?" onClick="warte();">open</a><br>
<a href="?"onClick="windowclose();">close</a>
</body>
</html> leider gibts auch keine fehlermeldungen. die dokus, die ich fand, haben letzten endes die selben beispiele beinhaltet. währe jetzt für jede hilfe echt dankbar :) |
| | |
| | #2 (permalink) |
| Guest Likes: | ich kenne mich mit js nich so aus aba so wie es bei dir aussieht müsstest du auf der seite wo der href hingeht die funktion window close einbauen ^^ weil so siehts für mich aus als könne man auf dieser seite entweder das fenster öffnen ODER das noch nicht offene fenster schließen ich würd das dann irgendwie so lösen Code: <html>
<head> <!--das is die seite von der man aus startet OHNE die close funktion-->
<script language="JavaScript">
var fenster;
function warte () {
fenster = window.open ('./fenster.php', 'fenster', 'width=200,height=100,toolbar=no,scrollbar=no,status=no');
}
function windowclose () {
var fenster.close ();
}
</script>
</head>
<body>
<a href="?" onClick="warte();">open</a><br>
</body>
</html> Code: <html><!-- das is jetzt das offene fenster --> <head>name und js </head> <body> <a href="?" onClick="windowsclose();>close</a> </body> </html> |
|
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Moderator ![]() | ShadowFire: Dein Script weist 2 Fehler auf: 1. In der Schließen-Funktion deklarierst du "fenster" nochmal, also muss das "var" da weg, damit die globale Variable verwendet wird, die am Anfang deklariert wird. 2. Damit diese Variable auch tatsächlich erhalten bleibt, musst du dich auf der gleichen Seite befinden wie beim klicken auf den Öffnen-Link. Das ist aber nicht gegeben, da du mit einem Aufruf von "?" die Seite neu lädst und damit die Variable "fenster" zerstörst. Um das zu verhindern, gibt's nun mehrere Möglichkeiten, wie du die Links gestalten kannst. Entweder du rufst direkt JavaScript im href-Attribut auf: Code: <a href="javascript:warte()">open</a> Code: <a href="?" onclick="warte();return false">open</a> Code: <a href="#" onclick="warte()">open</a> |
| | |
| | #4 (permalink) |
| Themenstarter Registriert seit: 13.01.06 ![]() Likes: 0 | LX: genau da liegt das problem - die seite muss neu geladen werden: Code: <html>
<head>
<script language="JavaScript">
var fenster;
function warte () {
fenster = window.open ('./warten.php', 'fenster', 'width=200,height=100,toolbar=no,scrollbar=no,status=no');
document.location.href ('zip.php?aktion=bla');
}
function windowclose () {
fenster.close ();
}
</script>
</head>
<a href="?aktion=restore" onClick="javScript:warte()">backup</a>
<?php
if ($_REQUEST["aktion"] == "restore") { /* do restore */
?>
<body onLoad="javaScript:windowclose()">
<?php
define("MYSQL", "/usr/local/bin/mysql");
$array = gzfile("./test.gz");
$target = fopen("./temp.sql", "w");
foreach ($array as $line) {
if (!preg_match("/^\s$/", $line)) {
fputs($target, $line);
}
}
$sql = parse_ini_file("/devel/projects/restore/extern-libs/mysql.ini");
mysql_connect($sql["HOST"], $sql["USER"], $sql["PASS"]);
mysql_select_db($sql["DB"]);
mysql_query("DROP DATABASE " . $sql["DB"]);
mysql_close();
system (MYSQL . " -h " . $sql["HOST"] . " -u " . $sql["USER"] . " -p" . $sql["PASS"] . " < ./temp.sql");
unlink ("./temp.sql");
print "done";
}
?> in der zeit soll lediglich eine meldung erscheinen, dass der benutzer warten soll. diese meldung soll wieder verschwinden, wenn das script zu ende ist. und bitte kein blame über das php-script - das wird noch schöner |
| | |
| | #5 (permalink) |
| Moderator ![]() | Warum lagerst du die Restore-Funktionalität dann nicht einfach in dein "Bitte warten"-Popup aus? Eine nicht ganz saubere, aber zumindest nett aussehende Lösung für dein Popup: Code: <html> <head> <title>Bitte warten...</title> </head> <body> <p>Wenn du dieses Fenster zumachst ist alles hin...</p> <?php // dein Restore-Zeugs ?> <script type="text/javascript"> this.close(); </script> </body> </html> Unsauber isses, weil keine komplette HTML-Seite angezeigt wird, bis das PHP-Script durchgelaufen ist. Die meisten Browser zeigen aber auch unvollständige Seiten bereits an. Unsauber isses auch deswegen, weil goa nix passiert, wenn der Nutzer JavaScript deaktiviert hat |
| | |
| | #6 (permalink) |
| Themenstarter Registriert seit: 13.01.06 ![]() Likes: 0 | das hab ich zuerst auch versucht. aber wie du schon sagtest, wird der content erst dann angezeigt, wenn das script abgelaufen ist. also fällt die idee leider weg. da die anwendung js vorraussetzt, fällt das zweite problem auch weg: wenn sie nicht gestartet werden kann, brauch ich auch kein wartehinweis ![]() andere frage: kann js beim klick eine grafik anzeigen und diese dann nach scriptablauf verschwinden lassen, oder stosse ich damit an das selbe problem? |
| | |
| | #7 (permalink) | |
| Moderator ![]() | Zitat:
1. Jegliches Output-Buffering von PHP und Apache muss deaktiviert sein. 2. Vorm Restore-Teil muss ein flush() dafür sorgen, dass der bisher generierte Output an den Browser gesendet wird. Dann sollte das aber klappen. | |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Programm per batch minimieren und schliessen !? | Lunandro | Code Kitchen | 4 | 24.06.05 16:05 |
| 2 router zusammen schliessen | Metathron | Network · LAN, WAN, Firewalls | 7 | 10.05.05 21:36 |
| Anleitung für die Ports 135,137,139 manuell schliessen | Lami12 | (In)security allgemein | 9 | 05.04.05 14:25 |
| Port 135 schliessen - wie? | Zero Uncool | (In)security allgemein | 0 | 01.09.04 13:28 |
| Port 123 NTP schliessen ? | link | (In)security allgemein | 2 | 18.09.03 23:46 |