joerghuelsermann.de Ein Spiel mit Links

Ein Spiel mit Links

Ein Spiel mit internen und externen Links möchte ich auf dieser Seite hier veranstalten. Dazu eignen sich meiner Ansicht nach am besten 2 Umleitungen auf 2 meiner Domains die sich nur minimal unterscheiden. Beide Umleitungen sind im Rahmen von Wettbewerben im Bereich Suchmaschinenoptimierung entstanden.

Die benötigte Umleitung in der Hypertext access

Bei beiden Domains sorgt eine Zeile in der htaccess Datei für die Umleitung. Redirect 301 /mammuthanull http://joerghuelsermann.de/artikel/seo/#mammuthanull

Auf diesem Wege ist es möglich einen intern angegebenen Link in einen externen umzuwandeln. Zu diesen Umleitungen habe ich bereits eine grössere Beschreibung um einen Kurz Url Dienst aufzubauen verfasst.

Angelegt sind diese zwei Umleitungen für http://3jh.de/mammuthanull und http://joerghuelsermann.de/mammuthanull und leiten zur Adresse http://joerghuelsermann.de/artikel/seo/#mammuthanull um, aus dem Grunde da in diesem Bereich Informationen über den gleichnamigen Wettbewerb zur Suchmaschinenoptimierung sich befinden.

Parameter für die Beispiele

Es existieren zwei Parameter die den Aufbau dieser Seite beeinflussen. Der eine ist das diese Seite als XHTML oder als HTML ausgegeben wird abhängig vom verwendetem Browser. Der momentan verwendete Browser gibt diese Webseite als XHTML aus.

Der andere Parameter betrifft die Aktivierung beziehungsweise Deaktivierung von Javascript. Eine Änderung der Ausgabe wird nicht durch diesen Parameter verursacht. Eine Erkennung ob Javascript zur Verfügung steht kann nur darüber erfolgen das man mit Javascript Massnahmen trifft die Einfluss auf die Änderung der Ausgabe haben.

Einfluss des ersten Parameter auf die Ausgabe

Einige Beispiele auf dieser Webseite können bei einer Ausgabe als HTML nicht funktionieren. Deshalb werden über eine Browserweiche verschiedene Variablen für die Ausgabe dieser Seite gesteuert. Dazu müssen auch die Unterschiede zwischen XHTML5 und HTML5 bekannt sein.

if (isset($_SERVER['HTTP_ACCEPT']) and strpos($_SERVER['HTTP_ACCEPT'], 'application/xhtml+xml')!==false){
header('Content-Type: application/xhtml+xml; charset=UTF-8');}
else {
header('Content-Type: text/html; charset=UTF-8');}
PHP Kode für die Browserweiche

Der Einfluß von Extensible Markup Language

In diesem Abschnitt geht es um die Angabe einer Basisadresse in XML Bereichen oder Dokumenten. Ich werde es praktisch für XHTML und SVG anhand von Beispielen auf dieser Seite demonstrieren.

Ich verweise an dieser Stelle auf die Spezifikation des W3C und auf die deutsche Übersetzung.

In beiden Beispielen in XHTML und SVG Kode habe ich die beiden internen Links um ein xml:base="http://3jh.de" erweitert. Im Grunde keine zu empfehlende Methode, weil dieses Attribut nicht von jedem aktuellem Browser unterstützt wird. In den Beispielen aber durch die bestehenden Umleitungen und die Modifizierung der Ausgabe dieser Webseite ohne Probleme einsetzbar.

Extensible HyperText Markup Language

An dieser Stelle baue ich insgesamt drei Beispiele auf um Verständnis für die Basisadresse in XML zu vermitteln. Benötigt wird allerdings zumindest eine Ausgabe als XHTML und ein dafür auch geeigneter Browser für diese Beispiele.

  1. mammuthanull <li><a href="/mammuthanull">Beispiel 1</a></li>
  2. mammuthanull <li><a href="/mammuthanull" xml:base="http://3jh.de">Beispiel 2</a></li>
  3. mammuthanull <li xml:base="http://www.seo-labor.com"><a href="/mammuthanull" xml:base="http://3jh.de">Beispiel 3</a></li>

Wir erkennen durch diese drei Beispiele das die Basisadresse dafür sorgt das abgesehen vom ersten Link externe Links über die Domain http://3jh.de/ kreiert werden. Im dritten Beispiel hat die Basisadresse zum http://www.seo-labor.com/ keine weitere Wirkung, weil es von der inneren Basisadresse im XML Baum überschrieben wird.

Eine Addition von mehreren Basisadressen wäre auch möglich solange nur die oberste Basisadresse aufs Hauptverzeichnis sich bezieht.

<p xml:base="/artikel/"><a href="links.php" xml:base="seo/">Beispiel</a></p> würde eingefügt auf den anderen Webseiten dieser Domain zu der momentanen Webseite zurückführen.

Scalable Vector Graphics

Das Prinzip der Angabe einer Basisadresse für XML wäre damit für alle XML Dokumente wie beispielsweise in dem folgendem Fall einer SVG Graphik anwendbar.

Um eine Angabe der Basisadresse unterscheidet sich der grüne Kreis <a xlink:href="/mammuthanull"> von dem roten Kreis <a xlink:href="/mammuthanull" xml:base="http://3jh.de"> in dem eingebundenen SVG Bereich.

Einsatz von Javascript

Durch den Einsatz von Javascript kann man auch einen internen Link in einen externen Link umwandeln. In diesen Fällen hängt es ab von der Verfügbarkeit von Javascript welche der beiden Umleitungen gefolgt wird.

Status: Javascript ist momentan deaktiviert.

Der interne Link

Der im Quellkode intern angegebene Link <a id="intern" href="/mammuthanull"> als Beispiel.

Der externe Link

Der im Quellkode extern angegebene Link <a id="extern" href="http://3jh.de/mammuthanull"> als Beispiel.

Das Skript für die Umwandlung

Durch die folgenden Javascript Anweisungen werden beide Links so modifiziert, das aus dem internen Link ein externer Link wird und umgekehrt.

var intern = document.getElementById('intern');
intern.removeAttribute('href');
intern.setAttribute('href','http://3jh.de/mammuthanull');
var extern = document.getElementById('extern');
extern.removeAttribute('href');
extern.setAttribute('href','http://3jh.de/mammuthanull');