window.location.hash在IE11中不起作用

时间:2014-08-20 18:19:37

标签: javascript html hash

我正在调用window.location.hash on body onload并将值传递给它,如下所示:

<body onload="displayView('wc001');"/>

<script>

function displayView(sectionName)
{
    window.location.hash=sectionName
}
</script>

我们甚至将wc001的锚标记包含在体内。

它在IE11中无法正常工作 它在铬中工作正常,即7。 是否有任何替代windows.location.hash的代码可以兼容IE11。

2 个答案:

答案 0 :(得分:1)

我也遇到了与IE11相同的问题。解决方案是 - 不使用锚标记作为特定位置的书签,而是使用所需锚点的名称设置HTML元素的“id”属性,如

等。

<!-- <a name="wc001"></a> -->
<p id="wc001">Section to scroll to</p>

答案 1 :(得分:0)

我刚在IE中测试了这个。

 window.location.hash = hashName;

如果这确实不起作用,那么我们可以使用scrollIntoView。

 function scrollToAnchor(anchorName){
   //set the hash so people can bookmark
   window.location.hash = anchorName;
   //scroll the anchor into view
   document.getElementsByName(anchorName)[0].scrollIntoView(true);
 }

像这样使用:

 <script type='text/javascript'>scrollIToAnchor('foo');</script>
 <a name='foo'></a>
 <p>I will be scrolled into view</p>