Webdesign in Siegen

Java: Window open mit mehreren Fenstern

Fragen zum Thema JavaScript können hier gestellt werden

Moderatoren: Basti, Ingo

Java: Window open mit mehreren Fenstern

Beitragvon Marc Freukes am 25.01.2008, 19:09

Ich brauche mal wieder Eure Hilfe. Dieses Script öffnet von verschiedenen Links ein Fenster. Klickt man nun den zweiten Link an, wird der Inhalt in gleichem Fenster geöffnet.
Code: Alles auswählen
<head>
<script type="text/javascript">
function FensterOeffnen (Adresse) {
  Fenster1 = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");
  Fenster1.focus();
}
</script>
</head><body>
<p><a href=".html" target="_blank" onclick="FensterOeffnen(this.href); return false">Link mit Fenster</a></p>
<p><a href=".html" target="_blank" onclick="FensterOeffnen(this.href); return false">Link mit zweitem Fenster</a></p>
</body></html>


Ich möchte aber, dass beim zweiten Link auch ein separates Fenster aufgeht.
Wie geht das?

Vielen Dank und Gruß,

Marc
Marc Freukes
Mitglied
 
Beiträge: 43
Registriert: 18.07.2006, 00:20

Re: Java: Window open mit mehreren Fenstern

Beitragvon Ingo am 25.01.2008, 22:11

Hi.
Ich denke, das liegt daran, dass window.open() immer mit dem selben Fensternamen
aufgerufen wird ("Zweitfenster") und deshalb folgerichtig alle Aufrufe in diesem einen
Fenster landen. - Meine Idee wäre: Du könntest einerseits ohne JavaScript auskommen:

Code: Alles auswählen
<p><a href="abc.html" target="nummer1">Link mit Fenster</a></p>
<p><a href="xyz.html" target="nummer2">Link mit zweitem Fenster</a></p>

... oder aber -falls die JavaScript-Funktion bleiben soll- neben der URL auch einen
je eindeutigen Fensternamen übergeben:

Code: Alles auswählen
<head>
<script type="text/javascript">
function FensterOeffnen (Adresse, Fenstername)
{
  Fenster1 = window.open(Adresse, Fenstername, "width=300,height=400,left=100,top=200");
  Fenster1.focus();
}
</script>
</head>
<body>
  <p><a href="abc.html" onclick="FensterOeffnen(this.href,'nummer1'); return false">Link mit Fenster</a></p>
  <p><a href="xyz.html" onclick="FensterOeffnen(this.href,'nummer2'); return false">Link mit zweitem Fenster</a></p>
</body>
</html>


Gruß, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 438
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Java: Window open mit mehreren Fenstern

Beitragvon Marc Freukes am 26.01.2008, 02:45

Hallo Ingo,

vielen Dank für Deine Antwort. Die Java- Lösung ist das, was ich suche. So kann ich die Größe der Fenster bestimmen.
Jetzt wird der Inhalt zwar in einem anderen Fenster gezeigt, aber das alte Fenster verschwindet im Firefox nach unten in die Startleiste. Wenn die älteren Fenster jetzt noch erhalten blieben und sich etwas nach rechts verschieben würden beim Öffnen, das wäre klasse.
Möchtest Du mir nochmal helfen?
Danke erstmal.

Gruß,

Marc
Marc Freukes
Mitglied
 
Beiträge: 43
Registriert: 18.07.2006, 00:20

Re: Java: Window open mit mehreren Fenstern

Beitragvon Ingo am 27.01.2008, 00:03

Hi, Marc.
Hm, das war schon etwas schwieriger, weil man nicht ohne weiteres die Position eines Fensters ändern kann,
ohne dass das Fenster den Fokus erhält oder im IE der Inhalt des kleinen Fensters ins Hauptfenster gelangt.
So 100% verstehe ich noch nicht, was da genau abläuft. Immerhin, folgendes sollte im IE, FF und im Opera
funktionieren:

Code: Alles auswählen
<script type="text/javascript">

meineFenster = new Array();

winTop = 100;
winLeft = 200; 

function FensterOeffnen (Adresse,Fenstername)
{
  // aktuelle Position weiterschalten
  winTop += 20; winLeft += 20;

  Optionen = "width=500,height=400,left="+winLeft+",top="+winTop;

  NeuesFenster = window.open(Adresse, Fenstername, Optionen);

  // Neues Fenster in Liste aufnehmen (anhängen, push)
  meineFenster.push(NeuesFenster);

  // Fenster nacheinander nach vorne bringen
  for (i=0; i<meineFenster.length; i++)
  {
    if(!meineFenster[i].closed) { meineFenster[i].focus(); };
  }
}
</script>

Das sieht schon etwas aufwendiger aus 8) Das Array brauche ich, um bei jedem neuen Fenster nacheinander alle
offenen (kleinen) Fenster wieder in den Vordergrund (vor das Hauptfenster) zu bringen. Die verschwinden ja bei
jedem Klick ins Hauptfenster erst einmal hinter diesem. - Die Fenster rücken immer weiter nach rechts unten;
ggf. müsste man winTop/winLeft zurücksetzen. - Soweit meine Idee; vllt. geht's noch eleganter? Wer weiß...

Grüße, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 438
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW

Re: Java: Window open mit mehreren Fenstern

Beitragvon Marc Freukes am 27.01.2008, 14:54

Lieber Ingo,

vielen Dank für Deine Mühe. Es gehen nun die Fenster auf und bleiben auch erhalten. Wir haben aber wieder ein neues Problem:
Manchmal werden Seiten aufgerufen, die sich nicht hinter den Links verbergen.
Entweder ich mache das jetzt mit einem tolltip oder mit dem früheren Code von Dir. Was meinst Du?

Gruß,

Marc
Marc Freukes
Mitglied
 
Beiträge: 43
Registriert: 18.07.2006, 00:20

Re: Java: Window open mit mehreren Fenstern

Beitragvon Marc Freukes am 27.01.2008, 15:07

Ingo, mir ist noch etwas eingefallen: Wo baue ich denn in den Code scrollbars=yes ein?
Marc Freukes
Mitglied
 
Beiträge: 43
Registriert: 18.07.2006, 00:20

Re: Java: Window open mit mehreren Fenstern

Beitragvon Marc Freukes am 27.01.2008, 15:16

Marc Freukes
Mitglied
 
Beiträge: 43
Registriert: 18.07.2006, 00:20

Re: Java: Window open mit mehreren Fenstern

Beitragvon Ingo am 27.01.2008, 16:46

Hallo, Marc.
Andere lösen gern Sudokus, ich wurschtele gern an andrer Leutz Layout herum :lol:
Zu den Scrollbalken: 'scrollbars=yes' gehört selbstverfreilich zu den anderen
Fenstereigenschaften nach window.open(), einfach die Optionen ergänzen:

Code: Alles auswählen
  Optionen = "width=270,height=370,left="+winLeft+",top="+winTop+",scrollbars=yes";


Was nun das neue Problem angeht: da kann ich gerade nicht ganz folgen.
Wo klickt man drauf und was passiert dann? Ein Beispiel wäre ganz hilfreich.

Gruß, Ingo :)
Die beste Browserweiche ... sitzt zwischen den Ohren ;o]
Benutzeravatar
Ingo
Moderator
 
Beiträge: 438
Registriert: 01.04.2007, 23:21
Wohnort: Neuss/NRW


Zurück zu JavaScript

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast