元刷新不起作用?

时间:2009-02-06 21:55:56

标签: html internet-explorer refresh meta-tags

我有一个页面使用

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

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

7 个答案:

答案 0 :(得分:72)

问题是当IE看到这个时:

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

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

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

上面的示例会不断重定向,但如果您将0更改为另一个数字,则会等待很多秒。希望这一切都有意义,它应该工作得很好,但我仍然认为我的第一个想法是更好的。

答案 1 :(得分:33)

Internet Explorer中有一个安全设置,不允许元标记刷新。它位于“安全”选项卡下,然后在“其他”下选择“自定义级别”和“元标记刷新”。如果禁用它,则会阻止元刷新工作。

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

答案 2 :(得分:5)

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

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

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

答案 3 :(得分:3)

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

答案 4 :(得分:2)

META标记不是空标记,并且HTML中没有结束标记,仅在XHTML中。 (如果你真的在发送XHTML,它可能无法在旧版本的IE上运行,只有解决方法才能将XHTML发送到旧的IE版本。)

尝试:

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

W3 Schools META Tag Description

您也可以尝试:

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

答案 5 :(得分:0)

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

答案 6 :(得分:0)

如果有人试图在Facebook应用程序(页面选项卡应用程序或IFRAME应用程序)中使用元刷新重定向到新URL ,则Facebook会以某种方式禁用该标记。

解决方法是:

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

请记住以“顶级”为目标,因为Facebook应用程序位于IFRAME中。

相关问题