2014-04-19 20 views
9

Esiste un formato standard che consente di specificare più parametri nel frammento URI? (. La parte dopo l'hash #, non la stringa di query)Parametri multipli nel frammento di URL

Le informazioni più correlate sarebbe questa domanda: Multiple fragment identifiers correct in URL?. I caratteri consentiti per i frammenti possono essere trovati anche in quella domanda.

Sarebbe accettabile da utilizzare, per esempio, un punto e virgola per delimitare più parametri in questo modo:

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

Ci sono comportamenti non intenzionali che dovrei essere a conoscenza con questo metodo? Cosa fare se nel documento non è presente tale ID con il valore param1?

Ai fini di questa domanda, vengono considerati solo gli URI di risorse HTML.

risposta

7

Credo che si dovrebbe leggere questo: http://en.wikipedia.org/wiki/Fragment_identifier#Examples

Così il formato standard de-facto per più parametri dovrebbe essere #param1=value1&param2=value2 Si può vedere in questo modo viene utilizzata da Media Frammenti URI 1.0 e dai documenti PDF. Sembra che non ci sia uno standard per le risorse HTML, dal momento che puoi analizzare il frammento in JavaScript nel modo che preferisci. Ma userei lo stesso formato in cui sembra più naturale essere simile al formato della stringa di query. Se il browser non riesce a trovare alcun elemento con id/nome uguale al proprio frammento hash, per impostazione predefinita verrà spostato all'inizio del documento.

Anche i browser considereranno il frammento di hash completo come possibile ID/nome. Quindi cercheranno l'id/nome uguale a param1=value1&param2=value2 ma non solo param1.

+1

Inoltre, se sei interessato a rendere l'applicazione AJAX sottoponibile ai motori di ricerca, ecco una guida di Google sull'utilizzo di hash framment #! https://developers.google.com/webmasters/ajax-crawling/docs/getting-started?csw=1 – lagivan