假定所有的幀都是相同的域,這可以很容易地完成。
<html>
<head>
<title>Test</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
var change_iframe_src = function(new_src) {
$("#myframe-content").attr('src', new_src);
}
</script>
</head>
<body>
<!-- frame which includes your tree.php -->
<iframe src="iframe.html" width="200" height="200" border="1"></iframe>
<!-- frame for which we will change src attribute -->
<iframe id="myframe-content" src="" width="400" height="200" border="1"></iframe>
</body>
現在tree.php附上點擊處理程序東西應該改變iframe的屬性(可能還有一些鏈接)的src。例如:
<html>
<head>
<title>Tree</title>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js"></script>
<script type="text/javascript">
$(function() {
$("#nav a").click(function(e) {
e.preventDefault();
// call function in a parent frame
parent.window.change_iframe_src(this.rel);
})
})
</script>
</head>
<body>
<div id="nav">
<a href="#" rel="iframe2.html">Change iframe src to iframe2.html</a>
<a href="#" rel="iframe3.html">Change iframe src to iframe3.html</a>
</div>
</body>
現在有了這種設置在tree.php會調用父窗口(其中內嵌的tree.php本身的窗口)中定義的功能的鏈接。該函數(本例中的change_iframe_src)帶有一個參數,該參數是一個新的url,應將框架myframe-content的src屬性更改爲該參數。
同樣,只要基本文檔和帶有tree.php的iframe是同一個域中的文檔,就可以工作。
來源
2011-08-29 09:46:04
WTK
document.getElementById ['contentframe']。src應該是document.getElementById('contentframe')。src –
頂級頁面和iframe的域是否相同?如果他們不是,我希望你不能改變iframe的來源。 – Femi