PHP中的标题(&#39;位置:<anchor>&#39;)在IE11中并不总是有效

时间:2015-07-31 10:17:01

标签: php html

我无法弄清楚为什么有时IE11在标题位置完成后没有进行锚定。

我在PHP中有这个:

header('Location: ' . $_SERVER['PHP_SELF'] . '#order-a');

在HTML格式中,我尝试了name=id=,其中一个正在使用header('Location:在IE中正常运行。

问题是:在完成header('Location: '之后,它应该重新加载并滚动到锚点。这适用于FF,Chrome甚至是IE11,但我的问题是在IE11中有时不会滚动到锚点。 (大约在五个案例中的一个)。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

(代表OP发表。)

感谢评论中的问题向我指出了正确的方向,我正在更多地探讨这个问题并做了一个例子:输入提交 - &gt; header('Location: <with anchor>')它甚至在IE中工作。所以我认为问题实际上并不在header('Location: ' . $_SERVER['PHP_SELF'] . '#order-a');和IE中,因为这是有效的。

因此,我再次浏览了我的网站代码并意识到<a name="order-a"></a>位于具有样式display: none的div内,并且此div在#order-a之后切换(感谢JavaScript)样式显示块包含在URL中。

因此,当我提交时,PHP会转到#order-a,但到那时#order-a显示为无,因此它不会移动到锚点但是会向网址添加#order-a - 多亏了它,JavaScript完成了它的工作并设置了一个包含#order-a的div来显示块。

在我意识到这一点之后,我刚刚在我的JS中添加了一个代码,该代码在div具有显示块之后进入锚点。并且它正在发挥作用,谢谢大家指出我的问题正确的方向。