我正在建立我的第一个多语种网站(英语/法语)
我必须在某些时候建立锚标记以便直接访问
这是一个有效的例子:
https://www.dropbox.com/s/0d6flq8dqrr2rwe/anchorTag.png
我的问题是:在网址中的#后面加上空格和法语字符是否可以?
我问,因为现在它似乎适用于Chrome / Firefox / IE(最新版本),我想知道为什么我会读到他们应该编码等等。我会如果可能的话,请保留空格和法语字符(更方便用户阅读未编码的URL)。
P.S: 我的网站是在php(代码点火器),我不介意让过时的浏览器出来..
谢谢!
答案 0 :(得分:0)
规格中没有明确定义。但是,RFC 3986为网址提供了以下正则表达式:
^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
锚的(。*)意味着它会很好,但当然,我们可以测试它。
降价链接至少似乎不适用于SO。这个锚标记也都没有。 (查看来源)
如果我复制粘贴网址
http://stackoverflow.com/questions/24185279/url-anchor-space-and-french-characters-permitted#dìobhairt
进入浏览器后,Chrome控制台为我提供了window.location.hash的正确答案。但最好避免,因为您的用户可能无法链接到您的网站!
您应该只设置一个表格,链接"代码名称"到您的页面,而不是使用URL中的实际页面标题。但要记住 - 网址适合人类,所以要有意义!