代碼:
<button onclick="hide()">隱藏</button><button onclick="show()">顯示</button><br /><div id="bb2" class="nocache" style="display: block;" mce_style="display: block;"><br /><iframe id="ifr" width="100%" height="242" frameborder="0" scrolling="no"<br />src="http://www.jrj.com.cn/" allowtransparency="true"><br /></iframe><br /></div><br /><mce:script type="text/javascript"><!--<br />var bb2 = document.getElementById("bb2");<br />function show(){<br />bb2.style.display = "block";<br />// 方法1,切換iframe的src<br /> document.getElementById("ifr").src = "http://www.jrj.com.cn/";</p><p>// 方法2,使用contentWindow的reload方法<br />// 相容性:跨域時不可用,且chrome必須通過伺服器訪問頁面,在本地測試document.getElementById("ifr").contentWindow.document為undefined<br />//alert(document.getElementById("ifr").reload)<br />//document.getElementById("ifr").contentWindow.location.reload(); </p><p>// 方法3,使用iframe內嵌document的reload方法<br />// 相容性:同2<br />//document.getElementById("ifr").contentWindow.document.location.reload();<br />}<br />function hide(){<br />bb2.style.display = "none";<br />document.getElementById("ifr").src = "javascript:void(0)";<br />}<br />// --></mce:script>
方法1最妥當,支援跨域。其實我的第一意識是iframe對象是不是有reload方法,可惜沒有,看來DOM 的JS API還需要補充。