元刷新重定向到顶部框架(meta refresh redirect to top frame)

2019-06-26 14:02发布

我有以下代码:

<html>
<head>
<title>title of this stuff</title>
<script language="JavaScript"> 
  if (top != self) top.document.title = document.title;
</script>
<meta http-equiv="refresh" content="2;     URL=javascript:window.open('certainpage.html','_top');">
</head>
<body>
Body of this page
</body>
</html>

这是行不通的。 我GOOGLE了这一点,来到处都是一样的结论:这应该工作。 但事实并非如此。 谁能帮我,为什么这个页面是不是:1.刷新只要我在那里的JavaScript(是的,JS在浏览器中启用)2.刷新到新页面的顶部框架

任何帮助,将不胜感激!

Answer 1:

JavaScript就无法在那样的刷新 meta标签的工作。

当你正在使用JavaScript无论如何,保持简单是这样的:

<script type="text/javascript">
    window.top.location = 'http://domain.tld/whatever/';
</script>

但也有一个更好的(因为聪明)的方式来做到这一点。 这并不需要你硬编码为每个页面的URL。 它检查如果页面最上面,如果不是,如果调用页面的URL 顶端

<script type="text/javascript">
    if(window.top.location != window.location) 
    {
        window.top.location.href = window.location.href; 
    }
</script>

如果您希望完全避免使用JavaScript(这部分用户将已禁用),这里还有一个更简单的方法来做到这一点。 以下添加到您的头部和网页上的所有链接将会打开“层次最高的”:

<base target="_top">

所有你需要做的就是选择这三个选项之一。 他们都应该让你去就好了。



文章来源: meta refresh redirect to top frame