【问题标题】:Meta-refresh doesn't work?元刷新不起作用?
【发布时间】:2010-10-06 01:26:48
【问题描述】:

我有一个页面使用类似于

的内容
<meta http-equiv="refresh" content="0;url=http://example.com/" />

但是对于特定工作站上的特定用户,这不起作用。在 IE 中。 cookie 或某处的设置是否有问题会导致此操作失败?我从来没有听说过这样的事情。

【问题讨论】:

  • Greg,你应该显示你的标记的上下文。上面是什么?下面是什么,等等。
  • 可能是这个机器上的这个浏览器出现的无效标记导致的bug。

标签: html internet-explorer refresh meta-tags


【解决方案1】:

它真的是旧版本的 IE 吗?如果是这样,请尝试:

<meta http-equiv="refresh" content="0;url=http://example.com/"> </meta>

它需要一个空格。 HTML 编辑器会抱怨,但忽略它。

【讨论】:

  • 真的老了,是指IE7吗?哈哈,这终于对我有用了。谢谢!
【解决方案2】:

如果有人试图在 Facebook 应用程序(Page Tab 应用程序或 IFRAME 应用程序)中使用元刷新重定向到新 URL,Facebook 会以某种方式禁用该标签。

解决方法是:

<script>
top.window.location = 'http://example.com';
</script>

记住要定位“顶部”,因为 Facebook 应用程序位于 IFRAME 中。

【讨论】:

    【解决方案3】:

    META 标签不是空标签,在 HTML 中没有结束标签,只有在 XHTML 中。 (如果您真的要发送 XHTML,它可能无法在旧版本的 IE 上正常工作,只有将 XHTML 发送到旧版 IE 的变通方法。)

    试试:

    <meta http-equiv="refresh" content="0;url=http://example.com/">
    

    W3 Schools META Tag Description

    你也可以试试:

    1. 检查 IE 的主要和次要版本。您可以在帮助->关于菜单选项中执行此操作。
    2. IE 历来都被文件名和 MIME 类型搞糊涂了。确保您将 HTML 作为 htm 或 html 扩展文件发送,并且这些文件类型已在您的服务器上设置为发送 text/html mimetype。
    3. 确保您的服务器未发送冲突的元刷新 http 标头。

    【讨论】:

      【解决方案4】:

      问题是当IE看到这个时:

      <meta http-equiv="refresh" content="0;http://www.example.com" />
      

      它期望内容属性包含一个数字。 IE 检查 URL 的唯一时间是内容属性是否包含“URL=”,因此在所有浏览器中最有用的重定向是这样的:

      <meta http-equiv="refresh" content="0;URL=http://www.example.com" />
      

      上面的例子会立即重定向,但如果你将 0 更改为另一个数字,它会等待那么多秒。希望这一切都有意义,它应该可以正常工作,但我仍然认为我的第一个想法更好。

      【讨论】:

      • 大声笑,我有同样的行为.. 忘记了 URL= 的错误。谢谢:-)
      • 如果这似乎对您不起作用,请注意另一个错字 - 这是延迟和 url 之间的分号,而不是逗号。
      【解决方案5】:

      Internet Explorer 中有一个不允许刷新元标记的安全设置。它位于 Security 选项卡下,然后选择 Custom Level 和 Miscellaneous 下的 Meta Tag Refresh。如果禁用,它将停止元刷新工作。

      除了可以选择性地禁用它之外,如果您将 IE 的安全级别设置为“高”[在 IE9 中观察到],它会自动禁用。

      【讨论】:

      • 绝对正确。这正是我的解决方案,因为我从 Azure VM 内部访问 IE 以进行测试。
      • 这个 IE 设置(安全级别='High')是一个问题,因为 Meta Tag Refresh 通常被引用为在禁用 javascript 时重定向的解决方案,当安全级别很高时也是如此。
      【解决方案6】:

      查看此解决方案。它同时处理 javascript 和元刷新: Meta-refresh and javascript

      【讨论】:

        【解决方案7】:

        只是一个疯狂的猜测:也许在重定向不起作用的那些机器上安装了一些广告拦截器。 想不出任何其他原因为什么这种常用技术在某些机器上有效,而在其他机器上却对您无效。

        【讨论】:

          猜你喜欢
          • 2012-08-08
          • 2012-06-30
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多