我在做一個網站的時候,遇到需要調用父表單中 iframe 中頁面裡的一個javascript函數,我是這樣寫的
引用parent.iframe_id.function_name();
這個寫法,在IE裡是沒有問題的,但是到了Firefox下就無效了。那麼如何同時相容Firefox和IE呢?在MSDN中尋找,並且實驗,最後終於找到方法了,如下
引用parent.document.getElementsByTagName("iframe")["iframe_id"].contentWindow.function_name();
如果要調用 iframe 中頁面裡的 iframe 中頁面裡的javascript函數(是不是很繞啊,呵呵),該如何操作呢?道理與上面的一樣,只不過代碼多一些而已,如下
引用parent.document.getElementsByTagName("iframe")["iframe_id"].contentWindow.document.getElementsByTagName("iframe")["iframe_id"].contentWindow.function_name();
以上後面的兩條語句同時支援Firefox和IE,在Opera中是否有效,我還沒有去驗證,有興趣的朋友可以去試一試,我估計應該可以啟動並執行。
JS下相容IE和FireFox的iframe視窗調用方法十月 5, 2008 19:12 by FlySky
//var data = document.frames["iframeID"].getHTML(); 只支援IE
//var data = document.getElementById("iframeID").contentWindow.document.getElementById("iframe_textarea").value;
var data = parent.frames["iframeID"].getHTML();// 支援IE和FireFox