window.parentとwindow.opennerの違いを紹介します.
4195 ワード
今日はjsのいくつかの対象の違いと使い方をまとめます. まずparent.windowとtop.windowの使い方を言います. 「window.location.href」、「locations.href」はこのページのジャンプです. 「parent.locations.href」は前のページからジャンプします. 「top.locations.href」は一番外側のページにジャンプします. 例を挙げて説明します A、B、C、Dはすべてjspで、DはCのiframeで、CはBのiframeで、BはAのiframeで、Dの中でjsはこのように書きますと. 「window.location.href」、「locations.href」:Dページジャンプ 「parent.locations.href」:Cページジャンプ 「top.locations.href」:Aページジャンプ 接続時のtargetの使い方がやっと分かりました. _blank:もう一つのウィンドウを開きます. _parent:親ウィンドウがリダイレクトを実行します. _self:自己ページリダイレクト _トップ:最初の親ウィンドウをリダイレクト 以上からわかるように、parent.window:父の窓口のオブジェクトtop.window:最初の父の窓口のオブジェクト 次に重点的にwindow.parentとwindow.opennerの違いを見てみます. window.parentはiframeページで親ページのオブジェクトを呼び出します.iframe内に埋め込まれたページから外部ページにアクセスしたい場合は、直接window.parentを利用して取得できます. 例は以下の通りです A.
<html>
<head>
<title> </title>
</head>
<body>
<form id="form1" action="">
<div>
:
<input type="text" name="username" id="username" /><br />
<iframe src="b.html" width="400px" height="300px"></iframe>
</div>
</form>
</body>
</html>
B.
<html>
<head>
<script type="text/javascript">
function getpValue()
{
document.getElementByIdx_x_x_x("span1").innerText=window.parent.document.getElementByIdx_x_x_x("username").value;
}
</script>
</head>
<body>
<span> :</span><span id="span1"></span><br />
<input type="button" value=" " onclick="getpValue();">
</body>
</html>
window.openerはwindow.openまたはハイパーリンクです.開くサブページは親ページオブジェクトを呼び出します. 例は以下のとおりです a.
<html>
<head>
<title> </title>
<script type="text/javascript">
function openB()
{
window.open('b.html','b','width=400,height=200,status=no,toolbar=no,menubar=no,location=no,resizable=yes,left=200,top=100');
}
</script>
</head>
<body>
<form id="form1" action="">
<div>
:
<input type="text" name="username" id="username" /><br />
<input type="button" value=" B" onclick="openB();" /><br />
<a href="b.html" target="_blank"> B </a>
</div>
</form>
</body>
</html>
b.
<html>
<head>
<script type="text/javascript">
function getpValue()
{
document.getElementByIdx_x_x_x("span1").innerText=window.opener.document.getElementByIdx_x_x_x("username").value;
}
</script>
</head>
<body>
<span> :</span><span id="span1"></span><br />
<input type="button" value=" " onclick="getpValue();">
</body>
</html>
いくつかのよく使われる例を挙げます. parent.windowとtop.windowは一般的に分割されたページすなわちframeまたはiframeの中で使用されます. ログアウトしたら、login.aspx:parent.window.location='Login.aspx'に戻ります. top.window.location='Login.aspx' window.parentもよく使うフレームです. 更新:window.parent.locations.reload();あるいはあるフレームを更新します.window.parent.MainForm.location.reload() 他のフレームの要素値を獲得しました.window.parent.MainForm.form 1.text 1.value. window.openerは主にハイパーリンクまたはwindow.open()を通じて自分のページを開くページのいくつかを獲得します.例えば、値を獲得して、更新などの更新:window.opener.locations.reload(); 取得値:window.opener.document.getElement("txtName").value; 後退:top.playFrame.history.go(-1) 前進:top.playFrame.history.go(1); リフレッシュ:top.playFrame.locations.reload(); ここまでまとめると、これらの対象はとても実用的です.