在父窗口中打开URL

时间:2011-08-25 01:45:04

标签: javascript url window reload

我正在尝试在重新加载页面后在父窗口中打开URL。目前,它只是重新加载父窗口。如何让它重新加载URL而不是父页?

以下是代码:

编辑:这是完整的代码。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<style type="text/css">
.left_border_right_cell {
    border-left-width: 1px;
    border-left-style: solid;
    border-left-color: #999;
}
.facebook_login_hd1 {
    font-family: Verdana;
    font-size: 14pt;
    color: #333;
    text-decoration: none;
    margin-left: 15px;
}
.facebook_body_txt {
    font-family: Verdana;
    font-size: 12px;
    font-weight: normal;
    color: #333;
    text-decoration: none;
    margin-left: 15px;
}
.login_hdr_text_hd2 {
    font-family: Verdana;
    font-size: 14pt;
    color: #900;
    text-decoration: none;
    margin-left: 15px;
}
.submit_button {
    font-family: Verdana;
    font-size: 12px;
    color: #FFF;
    text-decoration: none;
    background-color: #900;
    border: 1px solid #900;
    margin-left: 15px;
}
.facebook_f12media_bld {
    font-family: Verdana;
    font-size: 12px;
    font-weight: bold;
    color: #900;
    text-decoration: none;
}
.field_properties {
    font-family: Verdana;
    font-size: 12px;
    font-weight: normal;
    color: #900;
    text-decoration: none;
    border: 1px solid #900;
}
.reset_button {
    font-family: Verdana;
    font-size: 12px;
    color: #900;
    text-decoration: none;
    background-color: #FFF;
    border: 1px solid #900;
}
.login_field_label {
    font-family: Verdana;
    font-size: 12px;
    color: #333;
    text-decoration: none;
    margin-left: 15px;
}
.login_forgot_password {
    font-family: Verdana;
    font-size: 10px;
    font-weight: normal;
    color: #900;
    text-decoration: none;
    margin-left: 15px;
    margin-top: 1px;
    margin-bottom: 1px;
    padding: 0px;
}
</style>

<script language="text/javascript">
function close_reload()
{

    parent.parent.window.location.reload();parent.parent.GB_hide();

}
</script>
</head>

<body onload="setTimeout('parent.parent.window.location.replace('http://www.f12media.com/account.php');parent.parent.GB_hide();', 5000)" onunload="parent.parent.window.location.reload();parent.parent.GB_hide();">



<table width="683" height="298" border="0">
  <tr>
    <td height="312" valign="top"><p class="facebook_login_hd1">Welcome to F12 MEDIA&#8482; </p>
  <p class="facebook_body_txt">You are now connected with <span class="facebook_f12media_bld">F12 MEDIA</span>.</p>
  </p>
  <p class="login_hdr_text_hd2">&nbsp;</p>
      <form id="login_sign_fm" name="login_sign_fm" method="post" action="">
</form>      <p class="login_hdr_text_hd2">&nbsp;</p></td>
  </tr>
</table>
</body>
</html>

4 个答案:

答案 0 :(得分:6)

如果您希望它加载特定的URL,请设置该URL,不要调用reload()。

window.parent.parent.window.location = "http://whatever.com/index.html";

答案 1 :(得分:1)

也许尝试.replace(url)代替.reload()。当你在它的时候,你可能想为此创建一个简单的函数。

function loadParent(url) {
  parent.parent.window.location.replace(url);
  parent.parent.GB_hide();
}

<body onload="setTimeout('loadParent(\"http://cnn.com\")', 5000)" 
      onunload="loadParent('http://cnn.com');">

答案 2 :(得分:1)

简单地说明以下内容:

self.opener.location.replace(url,"_self");
alwaysLowered = true; // Bring the Parent window in front & hide the current one

这将在父窗口中打开网址。

告诉我它是否不起作用。

答案 3 :(得分:1)

我遇到了同样的问题,想要从弹出窗口打开父窗口上的特定URL,而无需重新加载页面。由于我是一个PHP,我不想在重新加载页面时收到警报,因此再次打开它会起作用,因为加载时结果会自动刷新。

我使用以下代码(在子窗口上)来执行此操作:

window.opener.location = "https://www.whateverURLYouWant.com/";

这将在您的父窗口中加载您想要的任何URL。

我希望这有助于未来同样的问题。