• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

[ERLEDIGT] Link zu Ankern in Safari - keine Hashes in der URL

AzRaIL

Mitglied
Moinsen,

bin gerade dabei eine Seite mit Ankern für alle gängigen Browser zu optimieren.
Klappt auch bei allen bis auf den Safaribrowser von Apple (Natürlich genau der Browser den der Kunde benutzt :rolleyes: )

Klicke ich dort auf einen Link der zu einer anderen Seite mit einem Anker führen soll, zb.

www.root.com/service#anker1

Gelange ich auf die Seite jedoch ohne den hash, also nur

www.root.com/service

Mir ist aufgefallen, dass wenn ich auf den Link klicke, die Adresse sofort in der URL erscheint (mit dem Hash).
Erst dann wird zur Seite fortgefahren und dort wird der Hash dann nicht mehr übergeben.

In allen anderen Browsern wird man erst zur Seite weitergeleitet, und dort erscheint dann die Adresse mit dem Hash in der URL.

Bin im Internet auf einige Lösungsbeispiele gestoßen in denen es heißt, dass es daran liegen könnte das man irgendwelche Redirects drin hat. Jedoch steht in meiner htaccess nichts dergleichen.
 
Werbung:
Werbung:
Du meinst, wenn auf einer anderen Seite ein Link mit einem Ziel wie

Code:
www.root.com/service#anker1

steht, dann verschwindet das #anker1 nach dem Anklicken des Links aus der Adresszeile des Browsers?

Du schreibst "service", was für mich wie ein mod_rewrite-basiertes Redirect aussieht. Ist das der Fall?

Wenn ja, dann könnte es dieser webkit-Bug sein:
https://bugs.webkit.org/show_bug.cgi?id=24175
 
Achja das stimmt, benutze Joomla und habe dort in der Konfiguration URL-Rewrite eingestellt sowie meine htaccess.txt in .htaccess umgeändert.
Damit die URL nicht so aussieht:

www.root.com/index.php/service

Hmm, das übersteigt meine Kentnisse.
Theoretisch müsste ich nun für jeden Anker einen Redirect in meiner htaccess erstellen?
Wenn ja, gibt es die möglichkeit dies nur auf den Safari Browser zu beschränken?
 
So wie es unten in dem Bugeintrag beschrieben wird, wird es nur für alle Besucher des Webs möglich sein. Man könnt probieren es über mod_rewrite zu lösen. Problem hierbei ist jedoch, dass die Hash-Tags kein URL-Attribut sind, welches vom Webserver erkannt wird. Deshalb kann man hier nur sehr schwer eine bedingte Weiterleitung einbauen.

Ich würde empfehlen mit Hinweis auf den Bugeintrag die Implementierung so zu lassen wie sie ist. Wer einen fehlerhaften Browser verwendet, sollte sich evtl. einen funktionierenden suchen. Zudem werden außer deinem Kunden vermutlich kaum noch andere Besucher des Webs diesen Browser verwenden, weshalb der Aufwand hierfür vergleichsweise gigantisch wäre.
 
Werbung:
Habe das Problem nun gelöst ...
Es lag wohl nicht an dem URL Rewrite sondern an der Mehrsprachigkeit die ich zusätzlich drin hatte :S

Alle Browser haben es hinbekommen auf de/service umzuleiten nur der Safari nicht. damn

Dennoch danke für die hilfe :)
 
Zurück
Oben