JavaScript從父頁面獲取子頁面的值(子頁面又如何訪問父頁面)


之前還真沒做過類似的東西,,top頁面獲取子頁面的document。。

在百度搜了下即找到這個東東,還好,能用。

主要就是使用 contentWindow方法,獲取子頁面的所有document,再做處理。

通過js從父頁面獲取子頁面的值

通常在很多情況下都會遇到通過js來傳值的問題,只要通過一些頁面關聯,他們的值就可以互相傳遞,其中應用框架的時候傳值問題可能會遇到更多一些

1、從父頁面傳值到子頁面可能很容易辦到,在很多情況下可以不通過js來傳就可以達到目的,但從子頁面把數據傳給父頁面就不是那么容易了,其實思路很簡單,首先你要通過父頁面找到子頁面,按照W3C標准來,語法如下:

document.getElementById('iframe1').contentWindow;


取到子頁面對象

2、此文為了達到一個很醒目的效果,做了一個很即時的例子,當鼠標選中子頁面的任何文字的時候,父頁面的text里面就把顯示出來,通過 getSelection和selection.createRange方法來實現,關於selection.createRange是只能在ie6上面 能用,所以要加。

具體代碼如下:

 

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無標題文檔</title>
</head>
<body>
<input type="text" id="text1">
<iframe src="http://blog.snsgou.com/blog/download/demo1.html" id="iframe1" name="iframe1" style="width:60%; height:60%;">
</iframe>
</body>
</html>
<script language="JavaScript">
var childHtml = document.getElementById("iframe1").contentWindow;
var parentText = document.getElementById("text1");
if (childHtml.document.selection) {
	childHtml.document.onmouseup = function() {
		parentText.value = childHtml.document.selection.createRange().text;
	}
} else {
	childHtml.onmouseup = function() {
		parentText.value = childHtml.window.getSelection();
	}
}
</script>


 
附加說明:

子頁面訪問父頁面:通過關鍵字 parent 獲取父頁面對象

parent.document.getElementById('***')......
 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM