例如,我想让我的注册,关于和联系页面解析为不同的内容,但通过哈希标记:
三个链接各一个注册,联系和关于页面 -
有没有办法使用Javascript或PHP将这些页面解析为分离的内容?
答案 0 :(得分:5)
哈希不会发送到服务器,因此您只能在Javascript中执行。
检查location.hash
。
答案 1 :(得分:2)
没有服务器端方法可以做到这一点。您可以使用AJAX,但这会破坏非JavaScript用户的网站。最好的方法可能是拥有服务器端内容URL(index.php?page=<page_id>
)并使用JavaScript在本地重写(到#<page_id>
)并使用AJAX 然后处理内容加载。这样你就可以获得支持JS的设备的哈希URL,而其他人仍然可以使用该网站。
如果您只是出于审美原因而想要哈希URL,但又不想依赖JS,那么您就不走运了。 URL的语义对您不利:片段ID不应该真正影响URL所引用的内容,而只影响该内容中的片段。 AJAX URL正在改变这些语义,但如果你不需要,那就没有充分的理由去做。
答案 2 :(得分:0)
我想你可能有充分的理由,但我可以问,你为什么要这样做?它打破了广泛理解的URL中的哈希值应该如何工作的标准,并且它只是在与其他客户的互操作性方面遇到麻烦。
答案 3 :(得分:-2)
您可以使用PHP的Global $ _REQUEST变量来获取请求的URL并解析标签...