2010-09-28 180 views
0

如何從其他域頁面獲取某個值?跨域的iframe獲取值

例如來自不同域

兩頁的

的test.html:

代碼:

<!DOCTYPE html> 
<html> 
<head> 
</head> 
<body> 
<div> 
<span id="data"></span> 
<iframe name="dd" src="http://otherdomain.com/innerpage.html" style="width:600px;height:500px;"></iframe> 
</div> 
</body> 
</html> 

innerpage.html(在另一個域)

代碼:

<!DOCTYPE html> 
<html> 
<head> 
<script type="text/javascript"> 
function SendDataToParent(){ 
    var dataId = parent.document.getElementById("data"), 
    data = document.getElementById("iframeData").value; 
    dataId.innerHTML ="<input type='hidden' value='"+data+"' name='dataFromChildIframe'/>"; 

} 
</script> 
</head> 
<body> 
<div> 
<button onclick="SendDataToParent();">SendDataToParent</button> 
<input type="text" id ="iframeData" value="some content here"> 
</div> 
</body> 
</html> 

我想輸入與iframeData值的ID,這個ID值發送到父頁面

但代碼不工作,如何做到這一點?

回答

2

出於安全原因,兩個不同域中的頁面在當前瀏覽器中的客戶端上進行通信是完全不可能的。

作爲解決方法,您可以在這兩個頁面中使用JSONP。