![]() |
1
18
看着 RFC for URLs, section 3.5 片段标识符(我相信你指的是)定义为 fragment = *( pchar / "/" / "?" ) 和从 Appendix A pchar = unreserved / pct-encoded / sub-delims / ":" / "@" unreserved = ALPHA / DIGIT / "-" / "." / "_" / "~" sub-delims = "!" / "$" / "&" / "'" / "(" / ")" / "*" / "+" / "," / ";" / "=" 有趣的是,规范还说 “允许使用斜线(”/“)和问号(”?“)表示片段标识符中的数据。” 所以看起来真正的锚,就像
应该是合法的,并且非常类似于正常的URL查询字符串。(快速检查验证了这些至少在chrome、firefox和ie中工作正常)既然这样做有效,我假设你可以使用你的方法来获得这样的URL http://www.site.com/foo.html?real=1&参数=2 #fake=2&参数=3 没有问题(例如,片段中的“parameters”变量不应干扰查询字符串中的变量)
注: 同样从规范中: 片段标识符组件由数字符号(“#”)字符表示,并在URI末尾终止 因此,#后面的所有内容都是片段标识符,不应干扰GET参数。 |