2014-04-19 22 views
9

Gibt es ein Standardformat, in dem mehrere Parameter im URI-Fragment angegeben werden können? (. Der Teil nach dem Hash #, nicht der Query-String)Mehrere Parameter im URL-Fragment

Die zugehörigen Informationen würden diese Frage: Multiple fragment identifiers correct in URL?. Die erlaubten Zeichen für Fragmente können auch in dieser Frage gefunden werden.

Wäre es akzeptabel, zu verwenden, zum Beispiel ein Semikolon mehr Parameter wie folgt zu begrenzen:

http://example.net/page.html?q=1#param1=foo;param2=bar 

Gibt es unbeabsichtigte Verhaltensweisen, die ich mit dieser Methode bewusst sein sollte? Was passiert, wenn es im Dokument keine solche ID mit dem Wert param1 gibt?

Für die Zwecke dieser Frage werden nur URIs von HTML-Ressourcen berücksichtigt.

Antwort

7

Ich glaube, Sie dies lesen sollen: http://en.wikipedia.org/wiki/Fragment_identifier#Examples

So ist das de-facto-Standard-Format für mehrere Parameter sein sollte #param1=value1&param2=value2 Sie auf diese Weise von Media Fragmente URI 1.0 und von PDF-Dokumenten verwendet wird, sehen. Es scheint jedoch keinen Standard für HTML-Ressourcen zu geben, da Sie das Fragment in JavaScript beliebig analysieren können. Aber ich würde das gleiche Format verwenden, da es natürlicher aussieht und dem Abfragezeichenfolgenformat ähnelt. Wenn der Browser kein Element mit ID/Name finden kann, das Ihrem Hash-Fragment entspricht, wird standardmäßig zum Anfang des Dokuments navigiert.

Auch Browser betrachten das vollständige Hash-Fragment als mögliche ID/Namen. Also werden sie nach ID/Name gleich param1=value1&param2=value2 suchen, aber nicht nur param1.

+1

Wenn Sie daran interessiert sind, dass Ihre AJAX-Anwendung von Suchmaschinen gecrawlt werden kann, finden Sie hier eine Anleitung von Google zur Verwendung des Hash-Fragments #! https://developers.google.com/webmasters/ajax-crawling/docs/getting-started?csw=1 – lagivan