【问题标题】:IE 8 doesn't scroll to fragment on initial page loadIE 8 在初始页面加载时不会滚动到片段
【发布时间】:2010-08-09 14:55:06
【问题描述】:

我遇到了 IE 问题,当页面加载时它没有滚动到片段(URL 上的#foo)。片段的锚点是基本 HTML 的一部分,它不是动态的或任何东西。页面很重。如果我进入位置栏并按回车键,它会按预期滚动到锚点(以及在其他浏览器中观察到的)。在 IE 7 和 IE 8 上观察到该行为。有人遇到此问题并有解决方法吗?

【问题讨论】:

    标签: internet-explorer cross-browser fragment pageload


    【解决方案1】:

    您是否尝试过延迟滚动操作,直到出现窗口加载事件而不是 DOM 就绪事件?这样一来,它可能更准确地向下移动并计算它需要去的地方。

    演示或一些代码显然有助于调试。

    【讨论】:

    • 我无法控制滚动;我正在尝试依靠浏览器的#fragment URL 部分处理。
    • 至于演示,我无法在更简单的情况下复制它(所以它似乎与页面的大小/复杂性有关),所以打包一些玩的东西是行不通的.相关代码不过是<a name="foo">Foo</a><a href="/somepage#foo">Foo</a>
    • 我想上次我必须这样做的时候,我在 IE 中也注意到了它,我只为 IE 实现了 Flesler 的 scrollTo 插件,还不得不依靠setTimeout 来延迟它一点窗口加载。
    • 意思是我怀疑你至少可以在 IE 中依赖原生浏览器的滚动机制。
    • 当浏览器为 IE 时,通过使用 jQuery scrollTo 后加载解决了这个问题,所以接受这个答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-19
    • 2021-01-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多