javascript – Safari跳过网站标题并转到内容

我注意到当我在iPhone或iPad上打开我的网站并进入文章页面时,浏览器会以某种方式检测到文章的开头,省略标题并向下滚动到文章内容,因此用户没有机会看到标题我的网站和广告在我的标题之上.如何禁用Safari的这种行为或至少欺骗它以使其保持在我的页面顶部? 最佳答案 我终于找到了它的原因!但是,谢谢你们的帮助和提示.

所以问题是在Apple浏览器/设备上有一个事件’popstate’在页面加载时触发.在Windows Chrome,IE,Firefox等中不会发生这种情况.它向下滚动的原因是我使用历史记录,当我向下滚动到另一篇文章时,我更改了网站的网址.然后,当用户在浏览器中单击“返回”按钮时,会触发“popstate”事件,并在该事件上滚动到上一篇文章的开头.因此,在Apple连接的浏览器中,页面加载时会有一个额外的popstate事件,它会立即滚动到第一篇文章.这是一个阻止这种行为的黑客行为:

window.addEventListener('load', function () {
    setTimeout(function () {
        window.addEventListener('popstate', popStateHandler, false);
    }, 0);
}, false);
点赞