offenes fenster schliessen bevor neue action erfolgt
Mark
- javascript
0 Robert Bamler0 Mark0 Mark0 Robert Bamler0 Mark
hallo gemeinde
über die suche bin ich nicht fündig geworden - da die suchkriterien auch echt blöd sind.
folgendes problem
aus einer seite mit frames sind 5 links enhalten. einer der links öffnet ein neues fenster, welche dann blöd im hintergrund liegen bleibt wenn der nutzer einen der anderen 4 links betätigt, da diese 4 wieder normal im frame laufen.
ich suche ein funktion die überprüft ob das separate fenster offen ist und wenn, dieses schliesst und erst dann den neuen link ausführt.
gruss
M
Hallo Mark,
ich suche ein funktion die überprüft ob das separate fenster offen ist und wenn, dieses schliesst und erst dann den neuen link ausführt.
Mir ist zwar der Sinn von der ganzen Aktion noch nicht klar geworden, aber du kannst es ja mal so versuchen:
Der Link, der ein neues Fenster öffnet, sieht so aus:
<a href="datei1.htm" target="_blank" onclick="return neuesFenster('datei1.htm');">Seite 1 in neuem Fenster öffnen</a>
Und ruft damit eine Funktion "neuesFenster" auf, die so aussieht:
function neuesFenster(pfad)
{
if (popupFenster = window.open(pfad,"popupFenster","resizable=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes")) return false;
else return true;
}
Die anderen Links sehen so aus:
<a href="datei2.htm" onclick="testePopupFenster()">Seite 2 hier öffnen</a>
Und rufen damit eine Funktion "testePopupFenster" auf, die so aussieht:
function testePopupFenster()
{
if (popupFenster) if (!popupFenster.closed) popupFenster.close();
}
Ich kann mir aber nicht verkneifen, noch meinen Senf dazuzugeben, dass mich das als Besucher in den meisten Fällen eher verwirren würde.
Viel Erfolg,
Robert
hallo robert
danke für deine hilfe
die separate seite muss in einer solchen geöffnet werden, da der nutzer die möglichkeit haben soll ( und haben muss ) die grösse zu verändern (dort gibt es inhalte von fremden servers)
derweil soll aber die "alte seite" mit naviagtion etc erhalten bleiben.
wenn ich nun einen nervösen nutzer habe der viel im urfenster rumklickt ohne das separate per hand zu schliessen, liegt das dann im hintergrund "herrenlos" als restmüll herum
hab ich das etwas klar machen können ??
gruss
M
Hallo Robert
irgendwo sind da aber fehler drin, so zeigt es zumindest der exploren wenn ich das ding rennen lasse
gruss
M
Hallo Mark,
irgendwo sind da aber fehler drin, so zeigt es zumindest der exploren wenn ich das ding rennen lasse
Das sagt mir jetzt natürlich nicht besonders viel. Wo zeigt denn der Explorer welchen Fehler? Meine Glaskugel finde ich gerade nicht ;-)
Folgender Code funktioniert bei mir in Opera 7, IE 6 und Mozilla 1.3b:
<html>
<head>
<script type="text/javascript">
<!--
function neuesFenster(pfad)
{
if (popupFenster = window.open(pfad,"popupFenster","resizable=yes,location=yes,menubar=yes,scrollbars=yes,status=yes,toolbar=yes")) return false;
else return true;
}
function testePopupFenster()
{
if (popupFenster) if (!popupFenster.closed) popupFenster.close();
}
//-->
</script>
</head>
<body>
<a href="datei1.htm" target="_blank" onclick="return neuesFenster('datei1.htm')">Datei 1 in neuem Fenster öffnen</a><br />
<a href="datei2.htm" onclick="testePopupFenster()">Seite 2 hier öffnen</a>
</body>
</html>
Viel Erfolg,
Robert
Hallo Robert
vieln dank für deine zeit und deine mühe
bin noch ein wenig flügellahm in javascript, aber ich denk' es wird schon
probiere das alles, mit frischen kräften am montag aus - die heutigen variationen waren nicht von erfolg gekrönt.
immer nur unten links in ie6 -fehler auf der seite-
und das erste fenster ist auch nicht mit den gewünschten parametern geöffnet worden
ich bleib am ball
gruss
M
Hallo Mark,
ich muss nochmal nerven:
immer nur unten links in ie6 -fehler auf der seite-
Falls das beim zukünftigem Entwickeln wieder auftritt: Wenn du da doppelt draufklickst, erscheint ein Fenster mit weiteren Informationen zu dem Fehler. Dort siehst du auch, in welcher Zeile der Fehler aufgetreten ist. Mehr Informationen geben aber meistens die Konsolen von Mozilla (in der Adresszeile "javascript:" eingeben) oder Opera (über "Window --> Special --> JavaScript console").
Robert
Hallo Robert
ja nerv mich nur, davon kann ich lernen
wie gesagt am montag geht´s weiter - eigentlich ne simple sache, aber wenn man mit der syntax noch nicht so firm ist, hier ein ' dort ein " etc. dauert es ein wenig
danke
gruss
M
Hallo Robert
neue woche neues glück - der fehler lag bei einigen unsichtbaren schmierzeichen daher die nichtfunktion.
läuft aber nun "fast" super.
wenn ein nervöser user den ersten link betätigt (der link welcher sich in einem separaten fenster öffnet) und das gleich danach noch einmal macht (also 2mal hintereinander) sieht es so aus als ob der link nicht funktioniert.
das fenster liegt im hintergrund und wird nicht mehr nach vorne geholt.
was tun??
das org-fenster (mit blur)
das neue mit focus / oder this.focus
gruss
M