SELFHTML Forums-Auslese JavaScript


Forums-Auslese
Neue Fenster mit JavaScript

Diese Seite ist ein Dokument mit Informationstext

 Verweis im neuen Fenster öffnen - mit und ohne JavaScript
 Separates Browserfenster mit dynamischen Frames
 Object-Problem beim Öffnen eines Verweisziels im neuen Fensters umgehen

 

Verweis im neuen Fenster öffnen - mit und ohne JavaScript

Basierend auf Forums-Beiträge vom 17.08.1998 von:
 Stefan Muenz, muenz@csi.com
 Christine Kuehnel, kuehnel@screenExa.net

Im folgenden Beispiel wird mit Hilfe von JavaScript ein Verweisziel in einem neuen Fenster geöffnet. Bei Browsern, die kein JavaScript interpretieren, bzw. bei denen JavaScript ausgeschaltet ist, wird das Verweiszeil ebenfalls in einem neuen Fenster geöffnet, jedoch nur mit reinem HTML-Code.
In der JavaScript-Variante sind Zusatzangaben wie width=... und height=... möglich, in der reinen HTML-Variante dagegen nicht.

Beispiel:

<html>
<head>
<title>JavaScript-Links</title>
<script language="JavaScript">
<!--

function targetLink(URL)
{
  if(document.images)
    targetWin = open(URL,"Neufenster","width=400,height=300");
}

//-->
</script>
</head>

<body>

<a href="ziel.htm" target="_blank" onClick="targetLink('ziel.htm');return false">Text</a>

</body>
</html>

Erläuterung:

Mit JavaScript wird ein Fenster geöffnet, return false sorgt dafür, daß der Link selbst in diesem Fall nicht ausgeführt wird.
Eine Einschränkung gibt es dabei: Browser, die nur JavaScript 1.0 kennen (Netscape Navigator 2 und MS Internet Explorer 3) können return false nicht interpretieren und führen den Link aus. Sie werden mit if(document.images) ausgeschlossen und zur Kategorie der Browser ohne JavaScript zugeordnet. Diese reagieren nicht auf onClick, öffnen dafür durch target="_blank" ein ganz normales neues Fenster ohne Größenvorgaben.
Ältere Browser, die target="_blank" nicht interpreterieren, führen den Link ganz normal aus und öffnen die Zieldatei im selben Fenster.

 

Separates Browserfenster mit dynamischen Frames

Basierend auf einem Forums-Beitrag vom 01.08.1998 von:
 Stefan Muenz, muenz@csi.com
und auf einem Forums-Beitrag vom 03.08.1998 von
 Christoph Lipp, christoph.lipp@gmx.net

Möchten Sie ein separates Browser-Fenster, das ein Frames-Set enthält, öffnen und dabei den Inhalt eines der Frames durch einen Parameter frei wählen, so können Sie dazu im öffnenden Fenster ein verstecktes Formular zur Parameterablage definieren.

<form name="Daten"><input name="varFrame" type=hidden value=""></form>

Die aufrufende Datei enthält dann eine Funktion, die den Parameter im versteckten Formular setzt und das Fenster öffnet.

Beispiel:

<html>
<head>
<title>Aufruf</title>
<script language="JavaScript">
<!--

function openWindow(filename)
{
  document.Daten.varFrame.value = filename;
  NewWindow = window.open('separat.html','NewWindow');
  NewWindow.focus();
}

//-->
</script>
</head>

<body>

<form name="Daten"><input name="varFrame" type=hidden value=""></form>

<a href="JavaScript:openWindow('wunsch.htm')">neues Fenster</a>

</body>
</html>

Die aufgerufene Datei "separat.html" generiert dabei das Frame-Set per JavaScript. Beim Erzeugen des Frame-Sets wird das versteckte Formularfeld abgefragt und damit die gewünschte Seite aufgerufen.

Beispiel (separat.html):

<html>
<head>
<title>Frameerzeugung</title>
<script language="JavaScript">
<!--

  Variable= opener.document.Daten.varFrame.value;
  document.write("<frameset rows=\"70,*\">");
  document.write("<frame src=\"fix.html\" name=\"frame1\">");
  document.write("<frame src=\""+Variable+"\"name=\"frame2\">");
  document.write("</frameset>");

//-->
</script>
</head>

<body>

</body>
</html>

Hinweis:

Ein weiterer Ansatz ist die von Christine Kühnel auf   http://www.screenexa.net/js_notiz/tips/frame_set.htm vorgestellte Lösung.
Möchten Sie sicherstellen, daß der Link auch in Browser ohne JavaScript angezeigt wird, so lesen Sie hierzu  Verweis im neuen Fenster öffnen - mit und ohne JavaScript.

 

Object-Problem beim Öffnen eines Verweisziels im neuen Fensters umgehen

Basierend auf Forums-Beiträge vom 18.11.1998 von:
 BioNauT, danners-outfitter@odn.de

Neue Fenster erzeugt man mit der Methode  open() des Objektes Window. Es ist jedoch nicht möglich, ein neues Fenster durch einen direkten Aufruf über einen Link zu erzeugen.
Der Aufruf <a href="javascript:window.open('test.htm','Name','width=200,height=200')">Link</a> öffnet ein neues Fenster. Gleichzeitig führt der Browser jedoch auch den Link aus. Dies führt dazu, daß die aktuelle Seite verlassen wird und eine browserinterne Seite mit der Mitteilung [object] (Internet Explorer) oder [object window] (Netscape) angezeigt wird.
Sie können dieses Problem durch die Verwendung einer Funktion umgehen. Alternativ ist es auch möglich, das Fenster durch Verwendung des Event-Handler  onClick zu öffnen.

Beispiel:

<script language="JavaScript">
<!--

function Fenster()
 {window.open("Seite.htm","Name","width=300,height=200")}

//-->
</script>

<a href="Javascript:Fenster()">Link</a>

<a href="#" onClick="window.open('Seite.htm','Name','width=300,height=200');
return false">Link</a>

weiter: Navigationssteuerung bei Frames
zurück: Event-Handler
 

SELFHTML Forums-Auslese JavaScript

© 1999  das Redaktionsteam