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