2011-08-26 75 views
1

我有一个网址,要么看起来像这样与多个#iPad的困难

http://www.URL.com/photography.html#project

或本

http://www.URL.com/photography.html#img1

甚至这个

http://www.URL.com/photography.html#project#img1

这是在所有的浏览器,但在iPad上的网址工作盛大的改变,看起来像这样

http://www.URL.com/photography.html#project%23img1

这不是让我具体的代码工作,我可以编码本次#以不同的方式,如果设备是一个ipad?我真的不想开始重新编码ipad的不同方式,如果我可以帮助它。

任何想法都是值得欢迎的。 谢谢!

+0

为什么你需要2 hastags? – JamesHalsall

+0

2个功能,工作方式不同,分开,也一起工作。所以我不能有#project/img1 cos然后我可能会得到/ img1 ..这是最好的方法 –

回答

0

虽然问题已经很老了,但我还是想深入研究。可能还有人在同一个话题上挣扎。


虽然使用多个片段标识符是不explicitly illegal似乎使用一个以上是针对规范,它规定:

片段-ID如下整个对象的URL从它由散列符号(#)分隔。

因此,您可以争辩说应该只存在一个散列符号。因为接受和解析这种类型的多个字符的浏览器不能被依赖,因为它是未定义的行为。

相反,我会建议你建立你的片段标识符在一个不同的形式,你已经暗示。

http://www.URL.com/photography.html#project/img1 

在这种情况下,您可以使用一个简单的表达式来获取函数。

window.location.hash.split("/"); // yields ["project", "img1"]