元刷新重定向到顶部框架

Mal*_*chi 5 html javascript redirect refresh meta-tags

我有以下代码:

<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>
Run Code Online (Sandbox Code Playgroud)

这不起作用.我用Google搜索并在各处得出相同的结论:这应该有效.但事实并非如此.任何人都可以帮我解释为什么这个页面不是:1.刷新只要我在那里有javascript(是的,我的浏览器启用了js)2.刷新顶部框架中的新页面

任何帮助,将不胜感激!

小智 12

Javascript在这样的刷新元标记中不起作用.

当你正在使用javascript时,请保持简单,如下所示:

<script type="text/javascript">
    window.top.location = 'http://domain.tld/whatever/';
</script>
Run Code Online (Sandbox Code Playgroud)

但也有更好(因为更聪明)的方式来做到这一点.这不要求您对每个页面的URL进行硬编码.它会检查页面是否位于最顶层,如果不是,则将页面的URL调用到顶部:

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

如果您希望完全避免使用javascript(某些用户将禁用),那么还有一种更简单的方法.将以下内容添加到您的头部,该页面上的所有链接将打开"最顶层":

<base target="_top">
Run Code Online (Sandbox Code Playgroud)

您所要做的就是选择这三个选项中的一个.所有这些都应该让你顺利.