我希望拥有它,以便当用户加载我们的页面时,它会检查它们是否在移动设备上,然后它会将它们重定向到我们网站的移动版本,但保留原始哈希他们遵循的链接标记。我已尝试在javascript中使用哈希标记设置新位置,但它在Chrome中有效,但在Safari中不起作用。我读过这只是Safari所做的事情。这有什么工作吗?
答案 0 :(得分:4)
你应该逃避'#'符号,一切都会好的
答案 1 :(得分:3)
我们实际上只是从客户那里得到了一份非常类似的错误报告。
对于我们而言,该方案涉及#quicklogin/abc123
形式的主题标签,仅在Safari中查看网站时出现。这是客户端将加载的初始URL的一部分,它将为它们提供备用登录屏幕。当直接访问Safari中的URL时,浏览器删除了整个标记并忽略它。
当我们将此更改为#quicklogin/test
(或任何其他仅包含字母字符的哈希)时,它工作正常。它在加载站点时工作正常,然后在两个单独的步骤中手动应用哈希标记。
所以我们的结论是在Safari中包含数值的主题标签可能有问题。
答案 2 :(得分:3)
您必须通过使用javascript重定向(因为javascript可以读取哈希值)或通过有条件地返回基于用户代理的不同html来执行此操作。
浏览器应该通过302保留哈希片段,但通常不会(请参阅下面3岁的webkit bug),否则哈希片段不会被发送到服务器,因此无法手动处理它们。 / p>