0

我们正在制作一个包含桌面和移动部分的网站

但我们希望对它们都使用相同的 URL,并取决于正确的 html/css 中的用户代理加载

对于桌面部分,我们使用 Ember 及其路由功能

例如:http ://domain.com/#!/newsitems/news-item-1

对于我们的移动部分,我们不想使用 JS 进行路由,而是手动刷新页面(因此我们的移动网站可以在尽可能多的不同设备上运行)

所以如果我想制作一个重定向到“news-item-1”的按钮

<a href="#!/newsitems/news-item-1">link</a>

不会重新加载我的页面,因为它识别出它的数字符号。是否有可能我可以刷新页面但仍保留 url。

我们将捕获 php 中的 URL,然后显示正确的 html/css

4

1 回答 1

1

URL 的“片段”永远不会传递给服务器,它会被浏览器剥离以供自己使用。因此,无法直接在 PHP 中读取它。

相反,您可以做的是:对于非 JS 情况,HTML 应该包含一个普通的 URL,例如<a href="/foo">.... 然后 JS 可以通过添加 #! 酌情将链接动态更改为<a href="#!/foo">...

这种一般的想法,即您首先编写简单的代码并在其上添加丰富的功能,而不是将它们嵌入到代码中,被称为“渐进式增强”。它可以被视为“优雅降级”问题的解决方案,这是您在支持尽可能多的平台时试图实现的目标。

于 2013-03-03T12:12:13.137 回答