5

我有以下代码:

<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>

这不起作用。我已经为此进行了谷歌搜索,并在任何地方得出了相同的结论:这应该可行。但事实并非如此。谁能帮我弄清楚为什么这个页面不是:1.只要我有javascript就可以刷新(是的,我的浏览器中启用了js)2.刷新到顶部框架中的新页面

任何帮助,将不胜感激!

4

1 回答 1

13

Javascript 不能在这样的刷新元标记中工作。

无论如何,您都在使用 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(某些用户将禁用),还有一种更简单的方法可以做到这一点。将以下内容添加到您的head部分,该页面上的所有链接都将打开“最顶层”:

<base target="_top">

您所要做的就是选择这三个选项之一。所有这些都应该让你过得很好。

于 2012-07-31T14:45:07.107 回答