URL片段中的多个参数

时间:2014-04-19 13:13:29

标签: html url uri url-parameters fragment-identifier

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

最相关的信息是这个问题:Multiple fragment identifiers correct in URL?。片段的允许字符也可以在该问题中找到。

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

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

使用此方法我是否应该注意任何无意识的行为?如果文档中没有值为param1

的ID,该怎么办?

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

1 个答案:

答案 0 :(得分:9)

我认为你应该读到这个: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 /名称,但不仅仅是param1