链接到页面上的位置 - 缓慢加载会影响位置

时间:2016-02-26 22:19:13

标签: javascript html anchor

我试图链接到页面上的特定位置,但IE似乎加载速度较慢,这会导致我的位置失效。
所以在我的导航中,我有一个像http://mySite/myPage#myLocation这样的链接 我第一次访问该链接时,在IE中,由于图像仍在页面上加载,因此它无法进入正确的位置。它最初会点击它,但随着其他东西的加载,它会被推到页面上。如果我回到页面,那很好。如果我清除缓存并再试一次,我可以复制问题。 Chrome和FF工作正常。

任何想法如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

这是我提出的快速解决方案。不确定这是否是最好的,但它正在发挥作用。 如果位置在加载期间移动,它将在页面完全加载后返回到该位置。

//Get the location ID if it exists in the URL, strip off #
var pageLocation = window.location.hash.split('#')[1];

//After page fully loaded, redirect to that location
//Prevents location from getting pushed away during IE slow page load
if (typeof pageLocation != "undefined") {
    window.onload = function () {
        location.hash = pageLocation;
    }
}