我们正在建立一个拥有桌面和移动部分的网站
但是我们想为它们使用相同的URL,并且取决于正确的html / css中的用户代理负载
对于我们使用Ember的桌面部分及其路由功能
例如:http://domain.com/#!/newsitems/news-item-1
对于我们的移动部分,我们不希望使用JS进行路由,但手动页面刷新(因此我们的移动网站可以在尽可能多的不同设备上运行)
所以如果我想制作一个重定向到“news-item-1”的按钮
<a href="#!/newsitems/news-item-1">link</a>
不会重新加载我的网页,因为它会识别其编号。 是否有可能刷新页面但仍保留网址。
我们将在php中捕获URL,然后显示正确的html / css
答案 0 :(得分:1)
URL的“片段”永远不会传递给服务器,它会被浏览器剥离以供自己使用。因此无法在PHP中直接读取它。
相反,你可以做的是相反的:对于非JS情况,HTML应该包含像<a href="/foo">...
这样的普通网址。然后JS可以通过添加#来增强它!适当时,动态更改指向<a href="#!/foo">...
这个一般的想法是,您首先编写简单代码并在顶部编写图层丰富的特征,而不是将它们嵌入到代码中,这被称为“渐进增强”。它可以被视为解决“优雅降级”问题的解决方案,这是您在支持尽可能多的平台时所要实现的目标。