zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > Knowledge Base
Seite neu laden window.open...oder?

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 09.02.2005, 18:46
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 08.02.2005
Beiträge: 14
supersonic befindet sich auf einem aufstrebenden Ast
Standard window.open...oder?

hallo,

sagt mal wenn man ein neues definiertes fenster öffnen lassen möchte geht das nur mit javascript (window.open) oder gibt es da auch eine elegantere lösung???

besten dank.
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 10.02.2005, 16:40
Benutzer
neuer user
 
Registriert seit: 19.01.2005
Beiträge: 59
feelx befindet sich auf einem aufstrebenden Ast
Standard

Hi Supersonic

Du hast 3 Möglichkeiten:

1. xhtml transitional, wo "target" erlaubt ist

2. auf target verzichten - und es dem User überlassen
Nur kurz zu dieser Diskussion: Ich sehe ein paar seltene Grenzfälle, wo ein Öffnen im neuen Fenster Sinn machen kann. Z.B. PDFs, Anfahrtsskizzen, Grossansichten von Bildern oder Skizzen, Zeichnungen und dergleichen usw.. Egal welche Variante du wählst, sollten aber imho "neue Fenster", so sparsam wie möglich eingesetzt werden.

3. JavaScript - wie du erwähnt hast mit window.open.
Ich nehme dann folgende Lösung
Code:
Click me
Sie ermöglicht nämlich auch jenen ~2%, die JS ausgeschaltet haben, ein Öffnen - dann allerdings im selben Fenster - aber immerhin bleibt die Navigation so auch bei JS=off intakt.

greets
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 10.02.2005, 16:51
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.01.2005
Beiträge: 696
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von feelx
Code:
Click me
- statt this.getAttribute('href') kannst du auch gleich this.href verwenden.
- der zweite parameter von window.open ist nicht optional.
- es empfiehlt sich, statt return false den rückgabewert von window.open zurückgeben zu lassen. so bist du etwas mehr auf der sicheren seite, wenn das JS-popup nicht geöffnet werden konnte (popupblocker o.ä.)
Mit Zitat antworten
  #4 (permalink)  
Alt 10.02.2005, 17:38
Benutzer
neuer user
 
Registriert seit: 19.01.2005
Beiträge: 59
feelx befindet sich auf einem aufstrebenden Ast
Standard

@wahsaga: Danke für die Hinweise. Gehe dem nach. ABER:
Imho sind bei window.open alle parameter (laut Microsoft auch URL) optional, somit auch 'Name'. Das steht zumindest in meinem Buch (JS Kompendium, M+T, Tobias Hauser, 2004). Da dies aber auch nicht ein Garant für Zuverlässigkeit ist, habe ich jetzt mal google bemüht!

Und du wirst lachen. Es gibt zwei Standpunkte. Das kann nicht sein, aber sieh' selbst:
Zitat:
open(URL, [name], [features], [replace]) Opens a new browser window. "Name" argument specifies a name that you can use in the target attribute of your <a> tag. "Features" allows you to show/hide various aspects of the window interface. "Replace" is a Boolean argument that denotes whether the URL loaded into the new window should add to the window's history list. A value of true causes URL to not be added. Example(s)
Quelle
oder
Zitat:
window.open( [sURL] [, sName] [, sFeatures] [, bReplace])
Microsoft

Hingegen mozilla
Zitat:
WindowObjectReference = window.open(strUrl, strWindowName [, strWindowFeatures]);
Gecko-Referenz

Habe auch Beispiele gefunden, wo URL + NAME nicht Optional waren- also deinen Standpunkt vertreten.. Aber sag mal. WO findet man die deiner Meinung verlässlichste Referenz - bei JS habe ich immer Probleme was richtig gutes zu finden...

Wie empfielst du denn den Rückgabewert zu überprüfen? Kannst du da mal ein Beispiel machen. Danke
Mit Zitat antworten
  #5 (permalink)  
Alt 10.02.2005, 17:56
Erfahrener Benutzer
XHTMLforum-Mitglied
 
Registriert seit: 18.01.2005
Beiträge: 696
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von feelx
Imho sind bei window.open alle parameter (laut Microsoft auch URL) optional, somit auch 'Name'.
hm, möglich, dass die ansichten darüber geteilt sind.
hab jetzt gerade auch keine lust, mit in ECMA-script-spezifikationen o.ä. zu vergraben.

im zweifel würde ich nach dem "wer hat's erfunden ...?"-prinzip zuerst mal bei netscape schauen - und die sehen den fensternamen wohl nicht als optional.

aber javascript als sprache ist heutzutage eh so "verwässert", dass man bzgl. diesem punkt wohl kein wirklich klare und allgemeingültige aussage mehr wird treffen können ...


Zitat:
Wie empfielst du denn den Rückgabewert zu überprüfen? Kannst du da mal ein Beispiel machen. Danke :)
die negation hatte ich noch vergessen ...
na ja, und dann einfach onClick="return !window.open(...)" halt.

wenn das fenster geöffnet werden konnte, gibt window.open die referenz darauf zurück, was zu true evaluiert. plus negation davor, hast du das return false aus dem eventhandler, um die ausführung des links zu unterbinden.
geht window.open schief, liefert es false zurück, dein eventhandler gibt true zurück, der link wird trotzdem noch ausgeführt.
Mit Zitat antworten
  #6 (permalink)  
Alt 11.02.2005, 23:42
Neuer Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 08.02.2005
Beiträge: 14
supersonic befindet sich auf einem aufstrebenden Ast
Standard

danke euch beiden.

wobei eure diskussion meinen wissenstand bei js um weiten überragt (es ist eigentlich nicht mein gebiet...)
ich wollte einfach nur wissen ob man ein neues definiertes fenster auch ohne js bekommt-geht wohl dann eher doch nicht. also habe ich mich doch für die window.open variante entschieden...

@ feelx: bei mir trifft leider einer dieser grenzfälle zu. naja, wird schon schief gehen.

wobei mich jetzt ein anderes problem nervt. das alte übel mit der kompatilität zu älteren browsern...
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
in Fenster mit window.open() funktionieren Befehle nicht Hasso Javascript & Ajax 7 02.11.2009 12:47
window.open – IE 6 macht zwei Fenster auf Kirsten Javascript & Ajax 3 06.09.2007 11:19
window.open und internet explorer r74 Javascript & Ajax 4 24.04.2007 22:22


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:35 Uhr.