【问题标题】:header Location redirect with anchor tag and IE7带有锚标记和 IE7 的标头位置重定向
【发布时间】:2009-06-09 00:23:55
【问题描述】:

你好!这是我的问题,可能只是浏览器问题,但任何帮助/想法都会很棒!

我几乎有以下重定向:

header("Location: page.php#images");

在大多数现代浏览器中,它会毫无问题地重定向到 page.php#images,但在 IE 中,它似乎会去除 #images。有没有人遇到过这个?到目前为止,我唯一的选择(我认为这是一个糟糕的选择)是通过 JavaScript 重定向。

谢谢!

更新
我发送了一个简单的沙箱,不管有没有绝对 URL,它似乎都可以正常工作。我猜在我的实际应用程序中还有其他与它冲突的事情。等我弄明白了再更新,谢谢大家的回复!

更新 2
我发现了问题所在,但我仍然不确定修复。事实证明,这是一个文件输入破坏了它。你可以在这里看到它的运行http://www.stiprojects.com/anchor/ 它在 Firefox 中运行良好,但在 IE 中中断。重定向中的源代码是:

header("Location: http://www.stiprojects.com/anchor/index.php?one=1&two=2#/images");

你看到了我没看到的东西吗?我很混乱!

【问题讨论】:

  • 我刚刚对此进行了测试,它在 IE7 上运行良好。
  • 链接有效,但表单无效(在 IE 7 中)

标签: php html anchor


【解决方案1】:

Location 标头需要每个 HTTP specification 的绝对路径。尝试使用绝对路径。 errata 表示 Location 标头中允许文档片段 (#id),但是当用户链接到带有片段的页面时的行为(例如 http://example.org/a_redirector#this 其中a_redirector 重定向到http://example.com/destination#that)是未定义的.

【讨论】:

    【解决方案2】:

    是的,这是真的。如果使用绝对路径可以防止:

    header("Location: http://www.example.com/page.php#images");
    

    【讨论】:

      猜你喜欢
      • 2017-01-26
      • 1970-01-01
      • 2014-03-05
      • 2014-01-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多