IE6 中多个锚标记不起作用
我尝试使用 windows.location.hash="test.asp#page#section13" 并且在所有浏览器中都可以正常工作,但在 IE6 中,URI 中的链接被 test.asp#pagesection13 替换。
看来IE6不支持多锚点。有什么办法解决它(除了重写一切)?
你的
杰瑞
I tried to use windows.location.hash="test.asp#page#section13" and in all browsers it works ok but in IE6 the link in URI is replaced by test.asp#pagesection13.
So it seems IE6 doesn't support multiple anchors. Any way around it (except rewriting everything)?
Yours
Jerry
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
尽管在现代浏览器中您可以在锚点中使用各种字符(包括
#
),但在 IE6 中却不能。实际上并不存在“多个锚点”这样的东西。如果您不想重写,您可以尝试在访问者使用 IE6 时使用#ie.foo.bar
代替#foo#bar
之类的内容,检测将其放在另一侧并通过 javascript 将元素滚动到顶部。 (当然,这是假设document.getElementById('foo#bar')
效果更好,但我还没有测试过。)There isn't really such a thing as "multiple anchors" though in modern browsers you can use all sorts of characters in an anchor (including
#
) while in IE6 you cannot. If you don't want to rewrite you might try something like using something like#ie.foo.bar
instead of#foo#bar
when the visitor is using IE6, detect it on the other side and scroll the element to the top via javascript. (This of course assumes thatdocument.getElementById('foo#bar')
fares better, which I haven't tested.)