我有以下代码:
<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.在顶部框架刷新到新页面
如有任何帮助,我们将不胜感激!
最佳答案
Javascript 不会像那样在 refresh 元标记中工作。
无论如何你都在使用 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">
您所要做的就是从这三个选项中选择一个。所有这些都应该让您顺利进行。
关于javascript - 元刷新重定向到顶部框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11690253/