我有一个看起来像这样的网址
http://www.URL.com/photography.html#project
或者
http://www.URL.com/photography.html#img1
甚至是
http://www.URL.com/photography.html#project#img1
这适用于所有浏览器,但在iPad中,URL更改为如下所示
http://www.URL.com/photography.html#project%23img1
它不允许我的特定代码工作,如果设备是ipad,我可以编码第二种#不同的方式吗?如果我能帮助它,我真的不想开始为ipad重新编码。
任何想法都非常受欢迎。 谢谢!
答案 0 :(得分:0)
我认为即使这个问题已经相当陈旧,我仍会深入研究这个问题。可能仍有人在讨论同一主题。
虽然多个片段标识符的使用不是explicitly illegal,但似乎使用多个片段标识符不符合规范,因为它声明:
fragment-id跟在整个对象的URL之后,用散列号(#)分隔它。
因此,您可以争辩应该只存在一个哈希符号。接受和解析此类型的多个字符的浏览器不能被依赖,因为它是未定义的行为。
相反,我建议你以你已经提到的不同形式建立你的片段标识符。
http://www.URL.com/photography.html#project/img1
在这种情况下,您可以使用简单的表达式来获取函数。
window.location.hash.split("/"); // yields ["project", "img1"]