• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Nochmal: Fenster schließen

silberfuchs

Neues Mitglied
Hallo, ich habe eingehend die Beiträge im Forum gelesen, aber leider keinen Hinweis zur Lösung meines Problems gefunden.
Also: In einem Projekt werden zwei html-Dateien dat1.html und dat2.html verwendet und dabei viel javascript eingesetzt. Dat1.html ist quasi der Begrüßungsbildschirm über den man über einen "Weiter"-Button zur dat2.html gelangt.
<a href="dat2.html">
<img src="up_weiter_pink.gif" width="160" height="40" border="0" alt="Home" ></a>
Die dat2.html hat einen "Ende"-Button, mit der onclick=window.close() Funktion soll das Projekt verlassen werden, dh. der Browser soll geschlossen werden.
Nun das Problem: wenn ich die dat2.html mit Doppelclick öffne, zeigt der Browser alles so an, wie er soll. Bei einem Klick auf den "Ende-Button wird Fenster und Browser geschlossen, der Browser akzeptiert also die Funktion. Soweit, so gut. Wenn aber die dat2.html über den o.g. Verweis geöffnet wird, passiert bei Klick auf den "Ende"-Button - nischt! Habe es auch mit self.close() und top.close() versucht, immer das Gleiche!!
Ich benutze als Browser den Google-Chrome, habe aber auch den IE und Safari getestet, immer da gleiche Spiel.
Kann mir da jemand helfen??
silberfuchs(72)
PS: beim erstellen des Beitrags hat sich der Browser mal aufgehängt, wennalo noch ein Fragment zu diesem Thema auftaucht: war nicht beabsichtigt
 
Zuletzt bearbeitet:
Werbung:
Gibt es einen JavaScript-Fehler in der Konsole? Wie sieht der gesamte Quellcode von dat2.html aus?
 
Hallo threadi,
Bei meinem Projekt handelt es sich um ein ehemals in vb6 geschriebenes Datenbankprojekt. Weil der Nutzer nun kein Win-Fan mehr ist, habe ich das ganze in html umgeschrieben,weil je jeder einen Browser auf seinem Rechner hat. Es soll aber lokal bleiben, also nicht auf einen Server geladen werden. Deshalb kann ich Dir den Quellcode nicht so einfach über einen Link geben. Ich habe ihn deshalb nachfolgend einkopiert. Dabei aber das Laden des Array auf 10 Datensätze gekürzt (in Praxi sind es ca.2600. , also 13000 Zeile.
Ob Du mit dem ganzen was anfangen kannst, weiß ich nicht. Das ganze läuft aber zufriedenstellend, mit dem o.g Schönheitsfehler. Natürlich kann man das Fenster auch über das Schließen-Kreuz beenden, aber ich wollte es eben mal versuchen.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
/* Das ist die in der Anfrage genanntee dat2.html, aber gekürzt
<title>Array_Test</title>
<meta name="author" content="Claus">
<meta name="editor" content="html-editor phase 5">
<script type="text/javascript">
var DB = new Array(10); //Der Datenbankinhalt wird als Array definiert
for (var i = 1; i <=10 ; ++i)
DB = new Array(5);


DB[1][1] = "1980" ;
DB[1][2] = "5" ;
DB[1][3] = "Tanz der Vulkane" ;
DB[1][4] = "1" ;
DB[1][5] = "Vulkane auf Hawai, Formen der Lava, Früherkennung der Ausbrüche" ;
DB[2][1] = "1980" ;
DB[2][2] = "5" ;
DB[2][3] = "Akropolis passe" ;
DB[2][4] = "61" ;
DB[2][5] = "Athen 1980, Verfall der historischen Bauten auf der Akropolis, Luftzverschmutzung durch Autoverkehr, Parthenon, Erechtheion" ;
DB[3][1] = "1980" ;
DB[3][2] = "5" ;
DB[3][3] = "Rügen Nur nicht auffallen" ;
DB[3][4] = "61" ;
DB[3][5] = "Mimikry, Heuschrecken, Zikaden,Helmleguan,Gottesanbeterin" ;
DB[4][1] = "1980" ;
DB[4][2] = "5" ;
DB[4][3] = "Die Franzosen der neuen Welt" ;
DB[4][4] = "80" ;
DB[4][5] = "Quebec" ;
DB[5][1] = "1980" ;
DB[5][2] = "5" ;
DB[5][3] = "Boeing" ;
DB[5][4] = "107" ;
DB[5][5] = "Produktion Herstellung Flugzeuge Boeing" ;
DB[6][1] = "1980" ;
DB[6][2] = "5" ;
DB[6][3] = "Die grünen Patriarchen Rügen" ;
DB[6][4] = "128" ;
DB[6][5] = "Baumsterben, Umweltverschmutzung, Silhuoette von Laubbäumen," ;
DB[7][1] = "1980" ;
DB[7][2] = "4" ;
DB[7][3] = "Gold; Mythos und Realität eines Edelmetalls" ;
DB[7][4] = "8" ;
DB[7][5] = "Gold als Machtsymbol, Spekulationsgeschäfte, Minen in Südafrika, Soziale Lage der schwarzen Kumpel" ;
DB[8][1] = "1980" ;
DB[8][2] = "4" ;
DB[8][3] = "Und im Sommer nach Binz" ;
DB[8][4] = "34" ;
DB[8][5] = "Insel Rügen Kreidefelsen, Fischerei, Urlaubsbetrieb, Kleinbahn von Göhren nach Putbus, Geschichte und Gegenwart, Baudenkmale, Hünengräber" ;
DB[9][1] = "1980" ;
DB[9][2] = "4" ;
DB[9][3] = "Dem Himmel verfallen" ;
DB[9][4] = "56" ;
DB[9][5] = "Fallschirmspringen, Gruppenspringen und Einzelspringen" ;
DB[10][1] = "1980" ;
DB[10][2] = "4" ;
DB[10][3] = "Guatemala, Die frommem Heiden" ;
DB[10][4] = "82" ;
DB[10][5] = "Karwoche Feier Quiche-Indianer, Religiositätt, heidnische Götter, Mischung von Christentum und Heidentum" ;

/*Hier folgen in meinem Projekt weitere 12.000 Zeilen*/


function Prüfen() {
meinText = document.meinForm.meinFeld.value;
if (meinText == "") {
alert("Bitte ein vernünftiges Suchwort eingeben!");
} else {
Ausgabe() ;
}
}
function Ausgabe () {
var Anzahl = 10;
var i, u, v, w, x, y, mystr, gefunden;
mystr = "";
gefunden = 0;
var Suchwort = document.meinForm.meinFeld.value;
for (i = 1; i <= Anzahl; ++i) {
u = DB[1];
v = DB[2];
x = DB[3];
y = DB[3].indexOf(Suchwort);
w = DB[4];
if (y != -1){
mystr = DB[5];
window.document.meinForm.ausgabefeld.value = mystr;
window.document.meinForm.jahr.value = u;
window.document.meinForm.heft.value = v;
window.document.meinForm.titel.value = x;
window.document.meinForm.seite.value = w;
alert("Nächstes Ergebnis?");
gefunden = 1;
}
}
if (gefunden == 0){
alert("nicht gefunden");
}
}


function Prüfen_1() {
meinText = document.meinForm.meinFeld.value;
if (meinText == "") {
alert("Bitte ein vernünftiges Suchwort eingeben!");
} else {
Ausgabe_1() ;
}
}
function Ausgabe_1() {
var Anzahl = 10;
var i, u, v, w, x, y, gefunden;
mystr = "";
gefunden = 0;
var Suchwort = document.meinForm.meinFeld.value;
for (i = 1; i <= Anzahl; ++i) {
u = DB[1];
v = DB[2];
x = DB[3];
y = DB[5].indexOf(Suchwort);
w = DB[4];
if (y != -1){
mystr = DB[5];
window.document.meinForm.ausgabefeld.value = mystr;
window.document.meinForm.jahr.value = u;
window.document.meinForm.heft.value = v;
window.document.meinForm.titel.value = x;
window.document.meinForm.seite.value =w;
alert("Nächstes Ergebnis?");
gefunden = 1;
}
}
if (gefunden == 0){
alert("nicht gefunden");
}
}


</script>


<style type="text/css">
<!--
div {border:none text-align:center;}
#a1 {width:40%; height:40px; position:absolute; top:5%; left:30%; font-family:'Times New Roman';
font-weight:bold; font-size:150%}
#a2 {width:25%; height:10px; position:absolute; top:17%; left:20%;}
#a3 {width:25%; height:50px; position:absolute; top:15%; left:42%; text-align:left;} /*Eingabefeld*/
#a4 {width:20%; height:40%; position:absolute; top:32%; left:70%;} /*großes Ausgabefeld*/
#a5 {width:20%; height:40%; position:absolute; top:40%; left:5%;}
#a8 {width:20%; height:50px; position:absolute; top:87%; left:10%}
#a9 {width:20%; height:50px; position:absolute; top:87%; left:42%}
#a10 {width:20%; height:50px; position:absolute; top:87%; left:75%}
/* #p1 {font-size:1.0em; font-style:italic;} */


input {height:40px; font-size:1.0em; font-family:'Times New Roman';}
textarea {font-size:1.0em; font-family:'Times New Roman';}
button {width:150px; height:35px; font-size:0.85em; }
=-->
</style>
</head>
<body text="#000000" background="BAKge53.gif">
<div id="a1">Eingabe- und Anzeigeformular</div>
<div id="a2">
<p > Hier den Suchbegriff eingeben!</p>
</div>
<form action="" name="meinForm">
<div id="a3">
<input name="meinFeld" size="35"; > <br>
</div>
<div id="a4">
<textarea name="ausgabefeld" cols="35" rows="15" readonly ; ></textarea>
</div>
<div id="a5">
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<td align="right">Jahrgang:</td>
<td><input name="jahr" type="text" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="right">Heft:</td>
<td><input name="heft" type="text" size="20" maxlength="20"></td>
</tr>
<tr>
<td align="right">Seite:</td>
<td><input name="seite" type="text" size="20" maxlength="20"> </td>
</tr>
<tr>
<td align="right">Titel:</td>
<td><input name="titel" type="text" size="60" maxlength="60"> </td>
</tr>
</table>
</div>
<div id="a8">
<button name="Suchen" type="button" value="Suchen" onclick="Prüfen()">
<p>Suchen im Titel</p>
</button>
</div>


<div id="a9">
<button name="Suchen" type="button" value="Suchen_1" onclick="Prüfen_1()">
<p>Suchen im Text</p>
</button>
</div>


<div id="a10">
<button name="Ende" type="button" onclick="top.close()">
<p>Ende</p>
</button>
</div>
</form>
</body>
</html>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
/* das ist die in der Anfrage genannte dat1.html
<title>GeoforMJ</title>
<meta name="description" content="HTML-Variante der Suche in einer Datenbank">
<meta name="author" content="Claus">
<meta name="editor" content="html-editor phase 5">
<!-- Der erste Versuch, das Projekt - Suche in Geo-Heften - in HTML zu realisieren -->
<style type="text/css">
<!--
div {text-align:center; padding:25px; border:thin solid red; margin:24px;}
#b1 {width:60%; position:absolute; left:15%;}
#b2 {position:absolute; left:45%; top:80%; border:none; padding:0px; margin:0px;}
table {position:absolute; top:30%; left:7.5%; width:80%}
button {width:130px; height:35px; font-size:1.2em; }
=-->
</style>


</head>
<body text="#000000" bgcolor="#FFFFFF" background="BAKge53.gif" >
<div id="b1">
<h1 >Suche in den GEO-Heften</h1>
</div>
<table style="margin-left:22px; margin-right:22px;">
<tr>
<th style="border:thin solid red">
<img src="kopf1.jpg" width="150" height="177" align="top" alt="Bild Opa"></th>
<th style="border:thin solid red; padding:10px; font-family:'Times New Roman'; font-size:120%">
Hallo Marie-Julie und/oder Josefin! <br>
Opa hat 2011 ein kleines Programm geschrieben, mit dem Ihr in den alten
GEO-Heften gezielt nach bestimmten Stichworten suchen könnt.
Hoffentlich werdet Ihr fündig, ich jedenfalls habe mir Mühe
gegeben, dass die Suche funktioniert. Viel Erfolg und auch Spaß!!
</th>
</tr>
</table>
<div id="b2" >


<a href="Eingabeseite3.html">
<img src="up_weiter_pink.gif" width="160" height="40" border="0" alt="Home" ></a>
</div>
</body>
</html>
 
Zuletzt bearbeitet:
Werbung:
Code:
window.close();
wäre der korrekte Befehl zum Schließen eines Fensters. Wenn das nicht geht, weiß ich auch nicht weiter.

In deinem Quellcode fällt mir lediglich auf, dass Du für JavaScript-Funktionen auch Umlaute verwendest, z.B. "Prüfen()" - darauf solltest Du verzichten.

Und bitte verwende nächstes Mal Code-Tags, wenn Du Quellcode im Forum zeigst. Dann sind diese Massen an Textzeilen auch übersichtlicher.
 
Danke für Deine Hinweise, werde es zukünftig berücksichtigen. Hinweis/Vermutung: Vielleicht wird der Browser beim Doppelklick auf eine html-Datei in einem anderen Modus geöffnet. Müsste man mal die Browserprogrammierer fragen. Tschüß und Danke
 
Das bezweifle ich. Ein Browser kennt maximal noch offline und online - aber keinen Modus der JavaScript in der Form beeinflusst. Das einzige was auf dieses Verhalten Einfluss haben könnte sind die JavaScript-Sicherheitseinstellungen die z.B. Popups verhindern. Wenn Du die bei dir mal komplett deaktivierst ... :)
 
Werbung:
Zurück
Oben