php - PHP 中的 header ('Location: <anchor>' )在 IE11 中并不总是有效

标签 php html

我不明白为什么有时 IE11 在 header 定位完成后不去 anchor 。

我在 PHP 中有这个:

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

在 HTML 中,我尝试了 name=id=,其中一个在 IE 中使用 header('Location:.

问题是:在 header('Location: ' 完成后,它应该重新加载并滚动到 anchor 。这在 FF、Chrome 甚至 IE11 中都有效,但我的问题是在 IE11 中它有时不会滚动到 anchor 。(大约是五种情况之一)。

有什么想法吗?

最佳答案

(代表 OP 发布。)

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

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

所以当我提交时,PHP 说转到 #order-a但到那时#order-a没有显示所以它不会移动到 anchor 但添加 #order-a到 URL - 感谢它,JavaScript 完成了它的工作并设置了一个包含 #order-a 的 div显示 block 。

在我意识到这一点之后,我只是在我的 JS 中添加了一段代码,该代码在其 div 具有显示 block 后转到 anchor 。它正在发挥作用,谢谢大家用你们的问题为我指明了正确的方向。

关于php - PHP 中的 header ('Location: <anchor>' )在 IE11 中并不总是有效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31743746/

相关文章:

javascript - 如何从div内的所有元素中删除特定属性?

javascript - 在 Javascript 中设置 anchor 标签的文本

javascript - 图表 js : when all the values passed to data are zeros, 没有任何显示

html - 缺少底部的网络表单

javascript - session 在子域中可用但未实际显示

php - 在 PHP 中使用一组预定义的数字填充数组

php - 根据面包屑级别动态获取页面链接

php - HTML 表单发布,没有传递数据

php - 数据库设置安全

php - MySQL 查询用数字排序