Zur Boardunity Forenstartseite

Zurück   Boardunity & Video Forum » Technik » Programmierung und Datenbanken

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1  
Alt 20.03.2005, 05:17
Benutzerbild von Jan Stöver
Boardunity Team
 
Registriert seit: 12.2003
Ort: Lübeck
Beiträge: 2.326

XHTML 1.1 und Links


Wie handhabt ihr es, wenn ihr andere Seiten verlinkt aber xhtml 1.1 und nicht XHTML transitional programmiert?

Seit 1.1 werden ja keine Frames mehr unterstützt und damit ist auch der Mißbrauch von target= als Linkziel (z.B. neues Fenster) verloren.

Eigentlich ist das ja nicht weiter schlimm ... allerdings hat man sich daran so sehr gewöhnt, dass im ersten Moment der Gedanke daran verschwendet werden darf, ob unerfahrene Besucher evtl. den Weg nicht mehr zurück finden oder sich schlichtweg auf der verlinkten Seite verlieren.

Greift ihr auf die aktuelle Alternative JS zurück? (bringt natürlich auch Nachteile mit sich)
Code:
<a href="http://www.boardunity.de" onclick="window.open(this.href); return false;">Boardunity</a>
So kann man zumindest sicher gehen, dass sich Seiten weiterhin in einem neuen Fenster öffnen.

Oder programmiert ihr XHTML strict und wartet auf CSS 3?
Code:
a { target-new:tab}
Ich denke ich werde strict weiter machen und auf JS für Links verzichten. So hat jeder erfahrene Besucher selbst in der Hand, wie und wo er den Link öffnet (Browsersteuerung).

Trotzdem freue ich mich auf Target in CSS 3 ...
__________________
Jan Stöver
  #2  
Alt 20.03.2005, 10:26
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Ich bevorzuge diese Variante:
Code:
<a href="link" class="external">Link</a>
Damit kann ich dann per CSS die Optik des Links verändern (z.B. ein Icon vor oder hinter dem Link plazieren). Und wenn ich lustig bin schreibe ich mir ein kleines Javascript, dass automatisch den Code hinzufügt, den du oben schon geschrieben hattest:
Code:
function alterLinks() {
	var links = document.getElementsByTagName('a');
	for(var i in links) {
	    if(links[i].className.indexOf("external") != 1) {
	        links[i].onclick = function() { window.open(this.href); return false; }
		}
	}
}
Finde ich zufriedenstellend. Wobei ich glaube, dass es auch ein rel=external anstelle einer CSS-Klasse tun würde. Aber da macht der IE wieder Probleme, wenn man die Optik mit CSS ändern möchte...

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #3  
Alt 20.03.2005, 10:33
Benutzerbild von Acyd Burn
phpBB Lead Developer
 
Registriert seit: 09.2003
Ort: Oldenburg
Beiträge: 106
Ich bevorzuge rel="external", da ich es somit rein logisch schon mal trenne... zum stylen kann ich immer noch eine klasse hinzufügen.

Meine Funktion sieht allerdings etwas anders aus (man mag sich nun drüber streiten ob es nun doch nicht wieder die alte Leier ist, aber nun ja... - den Vorteil sehe ich aber darin beliebige targets hinzuzufügen):

Code:
function externalLinks() 
{
	if (!document.getElementsByTagName) return;
	var anchors = document.getElementsByTagName("a");
	for (var i=0; i<anchors.length; i++) {
		var anchor = anchors[i];
		if (anchor.getAttribute("href") && anchor.getAttribute("rel") == "external")
			anchor.target = "_blank";
	}
}

__________________
Meik Sievertsen
phpBB Development Team Leader
phpBB3 Development | phpBB / Projekte: mobilfunk-guenstiger | stromtarife vergleichen/wechseln
  #4  
Alt 20.03.2005, 11:02
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Ah ja. Die Variante kannte ich auch irgendwoher.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #5  
Alt 20.03.2005, 13:22
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Durch die Verwendung von Javascript rennt ihr genau in die falsche Richtung, die man mit XHTML Strict eingehen wollte. Der Sinn der Entfernung von target war es, dass der Nutzer am Browser selber entscheiden kann, ob er ein neues Fenster öffnet oder ob er im aktuellen Fenster weiter surft.

Durch die Korrektur via Javascript wird aber genau diese Idee wieder verworfen. Ich, als erfahrener Nutzer, kenne nur zu häufig das Problem, dass sich ein Fenster öffnet ohne meinen Willen. Das stört und ist nicht in meinem Sinn.

Wer seinen Besuchern trotzdem dieses Feature bieten will, sollte auf strict verzichten und Transitional einsetzen. Genau aus diesem Grund bietet XHTML auch Transitional an, so dass weiterhin solche Attribute genutzt werden können.

Sollte man denoch auf strict setzen, so sollte man einfach strict um das Attribute erweitern. Das W3 gibt die Möglichkeit eigene DTD zu erstellen, so dass man als Basis strict nimmt und Anker um das Attribute target erweitert.

Gruß

  #6  
Alt 20.03.2005, 13:31
Benutzerbild von Jan Stöver
Boardunity Team
 
Registriert seit: 12.2003
Ort: Lübeck
Beiträge: 2.326
Danke für die Alternative - ich habe mich persönlich nun dazu entschieden strict zu bleiben und den Besucher durch ein Icon vor dem Link das Verlassen der Seite zu visualisieren.

So kann der Besucher selbst entscheiden, ob er den Link im gleichen / neuen Fenster oder eben einem seperaten TAB öffnet.

__________________
Jan Stöver
  #7  
Alt 20.03.2005, 13:59
Mitglied
 
Registriert seit: 10.2003
Ort: Bottrop
Beiträge: 779
Ist auch die beste Lösung.
Ich hasse es, wenn die Links sich von selbst in nem neuen Fenster öffnen.

Der Vorteil der Javascript-Lösung ist dann existent, wenn man den User selbst entscheiden lässt, ob Links in nem neuen Fenster geöffnet werden sollen oder nicht.
Ist über Cookies ziehmlich einfach.

__________________
Patrick Gotthardt
Patrick Gotthardt on Software
  #8  
Alt 20.03.2005, 14:03
Benutzerbild von Acyd Burn
phpBB Lead Developer
 
Registriert seit: 09.2003
Ort: Oldenburg
Beiträge: 106
Zitat:
Zitat von Reimer
Durch die Verwendung von Javascript rennt ihr genau in die falsche Richtung, die man mit XHTML Strict eingehen wollte. Der Sinn der Entfernung von target war es, dass der Nutzer am Browser selber entscheiden kann, ob er ein neues Fenster öffnet oder ob er im aktuellen Fenster weiter surft.
Ja, aber leider sehen das einige "Entwickler" ganz anders und wollen eben genau das Gegenteil. Ich möchte auf meinen Seiten z.B. das sich externe Seiteninhalte (also fremde Seiten) in einem neuem Fenster öffnen, Links auf die gleiche Seite aber nicht.

Zitat:
Durch die Korrektur via Javascript wird aber genau diese Idee wieder verworfen. Ich, als erfahrener Nutzer, kenne nur zu häufig das Problem, dass sich ein Fenster öffnet ohne meinen Willen. Das stört und ist nicht in meinem Sinn.
Ich hätte ehrlich gesagt nichts dagegen wenn alle Fenster in einem neuem Fenster geöffnet werden und es die Option "Open in same window" geben würde.

Aber hast schon Recht, man sollte dem User so viel Freiraum wie möglich geben...

Zitat:
Sollte man denoch auf strict setzen, so sollte man einfach strict um das Attribute erweitern. Das W3 gibt die Möglichkeit eigene DTD zu erstellen, so dass man als Basis strict nimmt und Anker um das Attribute target erweitert.
Ich glaube da verwechselst du das mit XHTML 1.1, welches genau aus dem Grund der Erweiterbarkeit der DTD geschaffen wurden, allerdings nicht oft genutzt wird da bei XHTML 1.1 (wenn man es richtig machen möchte) der mimetype auf application/xml+xhtml gesetzt werden muss (und dieser mimetype wird vom ie nicht unterstützt).

__________________
Meik Sievertsen
phpBB Development Team Leader
phpBB3 Development | phpBB / Projekte: mobilfunk-guenstiger | stromtarife vergleichen/wechseln
  #9  
Alt 20.03.2005, 14:06
Benutzerbild von Acyd Burn
phpBB Lead Developer
 
Registriert seit: 09.2003
Ort: Oldenburg
Beiträge: 106
Hmm, ich merke gerade das der Topictitle "XHTML 1.1" heißt. Naja, das nutze ich nun nicht (weil ich dann auch gerne den richtigen mimetype verwenden möchte), eher XHTML 1.0 Strict (bei 1.1 gibt es kein Transitional, es ist von vornherein strict, muss also nicht explizit angegeben werden)...

__________________
Meik Sievertsen
phpBB Development Team Leader
phpBB3 Development | phpBB / Projekte: mobilfunk-guenstiger | stromtarife vergleichen/wechseln
  #10  
Alt 20.03.2005, 14:44
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Zitat:
Zitat von Acyd Burn
Ja, aber leider sehen das einige "Entwickler" ganz anders und wollen eben genau das Gegenteil. Ich möchte auf meinen Seiten z.B. das sich externe Seiteninhalte (also fremde Seiten) in einem neuem Fenster öffnen, Links auf die gleiche Seite aber nicht.
Natürlich steht es einem Webdesigner frei fremde Inhalte in einem neuem Fenster zu öffnen. Der Punkt ist jedoch, dass der Nutzer es entscheiden soll und nicht der Webdesigner. Wer sagt denn, dass ich fremde Inhalte in einem neuen Fenster geöffnet haben will?

Zitat:
Zitat von Acyd Burn
Ich hätte ehrlich gesagt nichts dagegen wenn alle Fenster in einem neuem Fenster geöffnet werden und es die Option "Open in same window" geben würde.
Jeder hat sicherlich seine Vorlieben, aber wenn ich auf einer Seite einen gesuchten Verweis gefunden habe, ist der Referenzseite erfüllt. Warum muss dann noch einmal die Referenzseite zusätzlich schließen?

Zitat:
Ich glaube da verwechselst du das mit XHTML 1.1, welches genau aus dem Grund der Erweiterbarkeit der DTD geschaffen wurden, allerdings nicht oft genutzt wird da bei XHTML 1.1 (wenn man es richtig machen möchte) der mimetype auf application/xml+xhtml gesetzt werden muss (und dieser mimetype wird vom ie nicht unterstützt).
Es war schon immer möglich das DTD Module an seine Wünsche anzupassen und seit man mit XHTML in Richtung XML geht, ist dieses Thema wieder aktueller geworden und wird heftig diskutiert.

Du kannst einfach anstatt http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd eine eigene Definition verwenden und so eingene Attribute und Tags zu deiner Website hinzufügen, wobei die Unterstützung der Browser natürlich zu beachten wäre.

Durch eine eigene DTD Definition wäre es möglich, dass das target bei Links nach wie vor zulässt und die Seite weiterhin valide ist.

  #11  
Alt 20.03.2005, 15:21
Benutzerbild von Acyd Burn
phpBB Lead Developer
 
Registriert seit: 09.2003
Ort: Oldenburg
Beiträge: 106
Zitat:
Es war schon immer möglich das DTD Module an seine Wünsche anzupassen und seit man mit XHTML in Richtung XML geht, ist dieses Thema wieder aktueller geworden und wird heftig diskutiert.

Du kannst einfach anstatt http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd eine eigene Definition verwenden und so eingene Attribute und Tags zu deiner Website hinzufügen, wobei die Unterstützung der Browser natürlich zu beachten wäre.

Durch eine eigene DTD Definition wäre es möglich, dass das target bei Links nach wie vor zulässt und die Seite weiterhin valide ist.
Das weiß ich durchaus (ist ja nur ein Link. ), aber mit XHTML 1.1 wollte man dieses erleichtern (mit den Modulen):

Zitat:
Zitat von http://www.w3.org/MarkUp
XHTML 1.1 is an example of a larger build of the modules, avoiding many of the presentation features. While XHTML 1.1 looks very similar to XHTML 1.0 Strict, it is designed to serve as the basis for future extended XHTML Family document types, and its modular design makes it easier to add other modules as needed or integrate itself into other markup languages.

__________________
Meik Sievertsen
phpBB Development Team Leader
phpBB3 Development | phpBB / Projekte: mobilfunk-guenstiger | stromtarife vergleichen/wechseln
  #12  
Alt 20.03.2005, 17:20
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Ich hab mich gegen target= entschieden. Manchen gefällt das gar nicht, ist mir aber egal. Dafür ist es XHTML. Und ich öffne externe Links auch nicht unbedingt gerne immer in nem neuen Fenster. Zum Einen kann ich so schnell irgendwo durchklicken und nen Pfad zum x. Mal verfolgen, ohne dass ich am Ende gleich 10 Fenster (nein, Tabs) auf hab und zum Anderen gibt's doch schöne Funktionen wie FastRewind (zurück zur letzten Domain), die einem das Rückkehren einfacher machen.

Und den Contenttype kann man durchaus korrekt setzen. Man muss eben nur den Accept-Content-type Header im HTTP Request (oder wie das Ding nun heißt) auswerten und sich was passendes raussuchen. Dafür gibt's das ja alles. OK, braucht PHP oder ne Skriptsprache, mit statischen HTML-Dateien geht es vllt nicht so einfach.

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #13  
Alt 20.03.2005, 18:23
Benutzerbild von OrcaDesign
elitäre Pappnase
 
Registriert seit: 12.2003
Ort: "Berlin Nebenstelle", vor Köln
Beiträge: 150
Zitat:
Zitat von LonelyPixel
Und den Contenttype kann man durchaus korrekt setzen. Man muss eben nur den Accept-Content-type Header im HTTP Request (oder wie das Ding nun heißt) auswerten und sich was passendes raussuchen. Dafür gibt's das ja alles. OK, braucht PHP oder ne Skriptsprache, mit statischen HTML-Dateien geht es vllt nicht so einfach.
Da kann ich aus Erfahrung sprechen und sagen, daß selbst das eine lösbare Aufgabe ist: ich hab's über htaccess gelöst:
Code:
RewriteEngine On
RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml
RewriteCond %{HTTP_ACCEPT} !application/xhtml\+xml\s*;\s*q=0
RewriteCond %{REQUEST_URI} \.html$
RewriteCond %{THE_REQUEST} HTTP/1\.1
RewriteRule .* - "[T=application/xhtml+xml; charset=ISO-8859-1]"
Nicht schön und auch eine kleine Vergewohltätigung des RewriteMods... aber das Ergebnis ist das, was ich erreichen wollte: Browser, die mit XHTML etwas anzufangen wissen, bekommen die Seite auch als echtes XHTML ausgeliefert.

__________________
Lars
~ Mein Haus, mein Auto, meine Yacht ~
  #14  
Alt 20.03.2005, 19:29
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Uh, OK, das kannte ich noch nicht. Gut, wäre das auch geklärt.

Edit: Danke schön! Das hat mir jetzt tatsächlich bei nem anderen Problem geholfen, bei dem Dateien als UTF-8 ausgegeben werden müssen, was der Browser so nicht akzeptiert hat...

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #15  
Alt 21.03.2005, 21:40
Benutzerbild von Philipp Gérard
Zeitdenken
 
Registriert seit: 09.2003
Ort: Wien
Beiträge: 832
Wenn der Browser UTF-8 nicht ausgeben will, hilft meist schon ein korrekter header()-Befehl per PHP . Obige Lösung sieht aber hübsch aus...

__________________
Philipp Gérard
Gewöhnliche Menschen denken nur daran, wie sie ihre Zeit verbringen. Ein intelligenter Mensch versucht sie zu nützen. - Arthur Schopenhauer
  #16  
Alt 21.03.2005, 22:11
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Zitat:
Zitat von Philipp Gérard
Wenn der Browser UTF-8 nicht ausgeben will, hilft meist schon ein korrekter header()-Befehl per PHP . Obige Lösung sieht aber hübsch aus...
Das musste ich auch erstmal lernen (http://annevankesteren.nl/archives/2004/06/utf-8) und hatte bis dahin den Fehler bei MySQL gesucht

  #17  
Alt 22.03.2005, 15:04
Webmaster / vb-g Team
 
Registriert seit: 11.2004
Ort: München
Beiträge: 114
Zitat:
Zitat von TheDragonMaster
Der Vorteil der Javascript-Lösung ist dann existent, wenn man den User selbst entscheiden lässt, ob Links in nem neuen Fenster geöffnet werden sollen oder nicht.
Ist über Cookies ziehmlich einfach.
Ich will aber nicht bei jeder Seite erst die Einstellungen tätigen müssen, wie ich was sehen will, und außerdem will ich das bei jedem Link selbst entscheiden, ob ich die Seite im selben Fenster (Klick mit linker Maustaste) oder in einem neuen Tab (Klick mit mittlerer Maustaste) sehen will.

Ich schreibe zwar noch in HTML 4.01 (Strict), aber ich gebe bei meinen Links nie ein Target an, da ich den Benutzer selbst entscheiden lassen will.

Aber selbst, wenn ihr die Links mit noch so vielen target=_blank verziert, ihr werdet meinen Browser nicht dazu bekommen, ein neues Fenster auf zu machen Ich liebe Mozilla

  #18  
Alt 23.03.2005, 12:15
Benutzerbild von DJ Iltiz
Mitglied
 
Registriert seit: 02.2005
Ort: Straelen
Beiträge: 43
Hi!

Klar, Opera macht die auch im elben Fenster, halt als neues Tab, auf. Aber bei externen Links bin ich - bis auf Suchmaschinen - das Öffnen im neuen Fenster gewohnt. Und nachher findet der User gar nicht mehr zurück? Schließt die Seite, aber die ursprüngliche ist dadurch auch weg...

MfG
DJ Iltiz

  #19  
Alt 23.03.2005, 12:27
Benutzerbild von TRS
TRS TRS ist offline
Mitglied
 
Registriert seit: 02.2003
Ort: Berlin
Beiträge: 995
Zitat:
Zitat von DJ Iltiz
Und nachher findet der User gar nicht mehr zurück? Schließt die Seite, aber die ursprüngliche ist dadurch auch weg...
Ich denke, dass die Umstellung eines Nutzers schnell ablaufen wird. Das passiert ihm vielleicht einmal, zweimal - aber spätestens beim dritten Mal wird er lernen, dass er Fenster im neuem Fenster öffnen muss.

  #20  
Alt 23.03.2005, 18:23
Benutzerbild von Deathfragger
WBB2-User
 
Registriert seit: 03.2005
Beiträge: 30
Zitat:
Zitat von Reimer
Ich denke, dass die Umstellung eines Nutzers schnell ablaufen wird. Das passiert ihm vielleicht einmal, zweimal - aber spätestens beim dritten Mal wird er lernen, dass er Fenster im neuem Fenster öffnen muss.
Das denke ich nicht - vor allem "ältere" Leute die sich nur hin und wieder mit dem Internet beschäftigen werden dadurch sicherlich OFT die Übersicht verlieren bis sie damit wirklich zurecht kommen.

  #21  
Alt 24.03.2005, 10:31
Benutzerbild von DJ Iltiz
Mitglied
 
Registriert seit: 02.2005
Ort: Straelen
Beiträge: 43
Und das ginge auch nur, wenn alle oder zumindest ein Großteil der Seiten dies z.B. am 1.1.2006 einführen würde. Denn mal so oder mal so ist nicht so toll. Und solange die meisten Seiten externe Links in nem neuen Fenster öffnen, sehe ich dies als größte Hürde, mich diesem Standard zu "verschließen"...

MfG
DJ Iltiz

  #22  
Alt 24.03.2005, 10:39
Webmaster / vb-g Team
 
Registriert seit: 11.2004
Ort: München
Beiträge: 114
Das ist halt ein "Problem" im Internet.
Aber wenn nicht irgendwer damit anfängt, werden wir nie an das "Ziel" kommen.

Wenn es nach mir ginge, bräuchte das Web nur noch HTML 4.01 (Strict)- oder XHTML 1.x (auch Strict)-Seiten zu haben. Frames braucht keiner, das kann man alles mit CSS machen. Dann noch einen Browser, der das alles auch korrekt darstelt (Nicht den IE ) und schon würde das alles passen *träum*

Ich glaube, ich muss aber wieder auf den Boden der Tatsachen zurück

  #23  
Alt 24.03.2005, 11:00
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Zitat:
Zitat von DJ Iltiz
Und nachher findet der User gar nicht mehr zurück? Schließt die Seite, aber die ursprüngliche ist dadurch auch weg...
Folgende Extensions für den Firefox sind dabei sehr praktisch:
Rewind/Fastforward Buttons
Undo Close Tab
(http://unclassified.de?firefox-ext)

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
  #24  
Alt 24.03.2005, 11:07
Webmaster / vb-g Team
 
Registriert seit: 11.2004
Ort: München
Beiträge: 114
Da kenne ich noch eine bessere Extension: http://mozilla.incubo.de/
Ist aber mit Vorsicht zu genießen. Die ist nicht ganz sauber programmiert (wird deshalb auch nicht auf update.mozilla.org verlinkt/angeboten), und hat so ihre Tücken.
Für den Durchschnitts-Websurfer aber erste Sahne.

  #25  
Alt 24.03.2005, 17:38
Benutzerbild von LonelyPixel
UNB-Entwickler
 
Registriert seit: 01.2004
Ort: Erlangen
Beiträge: 974
Dieses "... und vieles mehr" ist es genau, das mich daran so abschreckt. Ich hatte anfangs eine Weile lang die Tabbrowser Extensions (das Original von dem aus Japan, Link müsste auf meiner Seite irgendwo sein) und das ist nach ner Weile so dermaßen lahm geworden und hat sich mit allen möglichen anderen Extensions gezofft, dass ich mir dann die einzelnen Teile davon gesucht hab, die nur genau das machen, was ich überhaupt haben will.

__________________
Yves Goergen
Softwareentwicklung, Fotografie, Webhosting, UNB Components (in Arbeit)
Antwort


Stichworte
-


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
So schöne Links Gast Programmierung und Datenbanken 6 05.02.2005 07:44
Schmutziges WYSIWYG-HTML umwandeln in XHTML? Fabchan Programmierung und Datenbanken 19 14.09.2004 20:55
XHTML 1.0 Strict + CSS = IE will nicht Patrick Gotthardt Programmierung und Datenbanken 8 24.07.2004 14:29
interne links benennen ... solanum Web Design und Grafik 3 04.06.2004 16:19






1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25