1. 程式人生 > >跨Iframe執行js函式

跨Iframe執行js函式

主視窗中的程式碼

 
<script type="text/javascript">     window.gogo = function (){alert('這是來自主視窗的資訊');}
</script>
 
<iframe id="test" name="test" src="testb.html" width="200" height="300" style="border:3px solid #333;"></iframe>
<input type="button" value="執行iframe中的函式"  onclick="window.frames['test'].gogo()"/>

Iframe中的程式碼

<script type="text/javascript">
    window.gogo = function(){alert('這是來自iframe的資訊');}
</script>
<input type="button" value="執行主視窗中的函式" onclick="window.parent.gogo()" />

window.frames['test'].gogo() 也可以寫成 window.frames['test'].window.gogo(),但window.frames['test'] != window.frames['test'].window

 alert( window.frames['test'] ) 返回的是 object DOMWindow, alert(window.frames['test'].window) 同樣返回的是object DOMWindow,看來這裡也能預設window。

同理:

window.frames['test'].window == document.getElementByIdx_x('test').contentWindow

window.frames['test'] == document.getElementByIdx_x('test').contentWindow

在ie6 ie7 ie8 firefox3.6 chrome中測試通過