Frage

Im Grunde habe ich eine meist Ajax-basierte Website. Wenn Sie ein Ergebnis laden, wird es über Ajax und die Änderungen URL-Adressleiste von mysite.com zu mysite.com/#xyz/A_Random_Title.

A_Random_Title ist ein SEO-freundliche formatiert Titel der Sache geladen, aber der wichtige Teil ist #xyz. xyz ist die ID des geladenen Ergebnisses und wird verwendet, um die Datenbank abzufragen.

Gibt es eine Möglichkeit CodeIgniter kann die aktuelle URL wie das lesen? Ich glaube nicht, mittlere Lese es, sobald die Seite geladen wird, aber eine Anfrage an mich ... Hoffnung lesen, den Sinn macht!

Danke!

Jack

War es hilfreich?

Lösung

Nein, ist es nur an den Browser verfügbar , so dass Sie es mit Javascript zu tun haben. Der Server kann es nicht lesen.

Erklärung:
Grundsätzlich ist die Hash-Komponente der URL der Seite (der Teil nach dem # -Zeichen) vom Browser nur verarbeitet wird - der Browser geht es niemals an den Server. Dieser leider ist Teil des HTML-Standard und ist das gleiche, ob Sie IE oder einen anderen Browser verwenden (und was das betrifft PHP oder jede andere Server-Side-Technologie).

Hier ist, was Wikipedia , sagt über sie:

  

Die Fragmentbezeichner Funktionen anders als der Rest des URI, nämlich seine Verarbeitung ist ausschließlich Client-Seite ohne die Beteiligung von dem Server . Wenn ein Agent (wie ein Web-Browser) eine Ressource von einem Webserver anfordert, sendet der Agent die URI an den Server, aber nicht das Fragment senden. Stattdessen geht der Agent wartet auf den Server die Ressource zu senden, und verarbeitet dann das Mittel die Ressource gemäß dem Fragmentwert. Im häufigsten Fall scrollt der Agent eine Webseite nach unten zu dem Ankerelement, das ein Attribut String hat gleich mit dem Fragmentwert. Anderes Client-Verhalten ist möglich

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top