是否有允许在URI片段中指定多个参数的标准格式?(散列#
之后的部分,不是查询字符串。)
最相关的信息是这个问题:URL中的多个片段标识符是否正确?。碎片的允许字符也可以在这个问题中找到。
例如,使用分号来分隔多个参数是否可以接受:
http://example.net/page.html?q=1#param1=foo;param2=bar
使用这种方法,我是否应该意识到任何无意的行为?如果值为param1
的文档中没有这样的ID,该怎么办?
出于这个问题的目的,只考虑HTML资源的URI。
我认为您应该阅读以下内容:http://en.wikipedia.org/wiki/Fragment_identifier#Examples
因此,多个参数的实际标准格式应该是#param1=value1¶m2=value2
您可以看到这种方式被Media Fragments URI1.0和PDF文档使用。HTML资源似乎没有标准,因为你可以用任何你喜欢的方式在JavaScript中解析片段。但我会使用相同的格式,因为它看起来更自然,类似于查询字符串格式。如果浏览器找不到任何id/name与您的哈希片段相等的元素,则默认情况下会导航到文档的开头。
此外,浏览器会将完整的散列片段视为可能的id/名称。因此,他们将寻找与param1=value1¶m2=value2
相等的id/name,而不仅仅是param1
。