【轉貼 】html之經常使用的鏈接跳轉,window.parent與window.openner

轉帖自
http://www.cnblogs.com/shuang121/archive/2012/04/12/2443481.html

今天總結一下js中幾個對象的區別和用法:javascript

首先來講說 parent.window與top.window的用法html

"window.location.href"、"location.href"是本頁面跳轉java

"parent.location.href"是上一層頁面跳轉框架

"top.location.href"是最外層的頁面跳轉jsp

舉例說明:spa

若是A,B,C,D都是jsp,D是C的iframe,C是B的iframe,B是A的iframe,若是D中js這樣寫code

"window.location.href"、"location.href":D頁面跳轉orm

"parent.location.href":C頁面跳轉htm

"top.location.href":A頁面跳轉對象

如今終於明白了鏈接的時候target的用法了:

_blank:從新打開一個窗口

_parent:父窗口執行重定向

_self:自身頁面重定向

_top:第一個父窗口重定向

綜上所述可知:parent.window:父窗口對象 top.window:第一個父窗口的對象

下面來重點看看window.parent與window.openner區別

window.parent iframe頁面調用父頁面對象,當咱們想從iframe內嵌的頁面中訪問外層頁面是能夠直接利用window.parent獲取;

例子以下:

A.html

<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

<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> 打開的子頁面調用父頁面對象

例子以下
a.html

<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

<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通常在分割的頁面即 frameset或iframe中使用

註銷整個框架後返回到login.aspx:parent.window.location='Login.aspx'或者

                                top.window.location='Login.aspx'

window.parent也是常在框架中使用,

刷新:window.parent.location.reload();或者刷新某個框架:window.parent.MainForm.location.reload();

得到其餘框架的元素值:window.parent.MainForm.form1.text1.value;

window.opener主要是得到經過超連接或者 window.open() 打開自己頁面的頁面的一些,好比得到值,刷新等

刷新:window.opener.location.reload();

獲值:window.opener.document.getElement("txtName").value;

後退:top.playFrame.history.go(-1);

前進: top.playFrame.history.go(1);

刷新: top.playFrame.location.reload();

相關文章
相關標籤/搜索