URL片段中的多个参数

rin*_*t.6 15 html url uri url-parameters fragment-identifier

是否有标准格式允许在URI片段中指定多个参数?(哈希后的部分#,而不是查询字符串.)

最相关的信息是这个问题:URL中的多个片段标识符是否正确?.片段的允许字符也可以在该问题中找到.

例如,使用分号来分隔多个参数是否可以接受,如下所示:

http://example.net/page.html?q=1#param1=foo;param2=bar
Run Code Online (Sandbox Code Playgroud)

使用这种方法我是否应该注意到任何无意识的行为?如果文档中没有这样的ID,该param1怎么办?

出于此问题的目的,仅考虑HTML资源的URI.

lag*_*van 10

我想你应该读一读:http://en.wikipedia.org/wiki/Fragment_identifier#Examples

因此,多个参数的事实上的标准格式应该是#param1=value1&param2=value2 您可以看到Media Fragments URI 1.0和PDF文档使用这种方式.似乎没有HTML资源的标准,因为您可以以任何您喜欢的方式在JavaScript中解析片段.但我使用相同的格式,因为它看起来更自然,类似于查询字符串格式.如果浏览器找不到任何id/name等于哈希片段的元素,默认情况下它将导航到文档的开头.

浏览器也会将完整的哈希片段视为可能的ID /名称.所以他们会寻找等于param1=value1&param2=value2但不仅仅是的id/name param1.

  • 此外,如果您对通过搜索引擎抓取您的AJAX应用程序感兴趣,Google提供了有关使用散列片段#的指南!https://developers.google.com/webmasters/ajax-crawling/docs/getting-started?csw=1 (2认同)