URL 片段中的多个参数
Posted
技术标签:
【中文标题】URL 片段中的多个参数【英文标题】:Multiple parameters in URL fragment 【发布时间】:2014-06-03 22:18:52 【问题描述】:是否有允许在 URI 片段中指定多个参数的标准格式? (哈希#
之后的部分,不是查询字符串。)
最相关的信息是这个问题:Multiple fragment identifiers correct in URL?。片段的允许字符也可以在该问题中找到。
是否可以使用分号来分隔多个参数,例如:
http://example.net/page.html?q=1#param1=foo;param2=bar
使用此方法是否有任何我应该注意的无意行为?如果文档中没有值为param1
的ID怎么办?
就本问题而言,仅考虑 HTML 资源的 URI。
【问题讨论】:
【参考方案1】:我认为您应该阅读以下内容:http://en.wikipedia.org/wiki/Fragment_identifier#Examples
所以多个参数的实际标准格式应该是#param1=value1&param2=value2
您可以看到Media Fragments URI 1.0 和 PDF 文档都使用这种方式。 HTML 资源似乎没有标准,因为您可以以任何您喜欢的方式解析 javascript 中的片段。但我会使用相同的格式,因为它看起来更自然,类似于查询字符串格式。如果浏览器找不到任何 id/name 等于您的哈希片段的元素,它会默认导航到文档的开头。
浏览器还会将完整的哈希片段视为可能的 id/name。所以他们会寻找 id/name 等于param1=value1&param2=value2
而不仅仅是param1
。
【讨论】:
如果您有兴趣让您的 AJAX 应用程序可被搜索引擎抓取,这里是来自 Google 的关于使用哈希片段的指南 #! developers.google.com/webmasters/ajax-crawling/docs/… 谢谢。现在已弃用 webmasters.googleblog.com/2015/10/…以上是关于URL 片段中的多个参数的主要内容,如果未能解决你的问题,请参考以下文章
从 AngularJS url 中删除片段标识符(# 符号)