當柳上原的風吹向天際的時候...

          真正的快樂來源于創造

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            368 Posts :: 1 Stories :: 201 Comments :: 0 Trackbacks
          父窗口調用子窗口函數實現是挺簡單的,如下:
          var wnd = window.open("XXX.html");
          wnd.showDatas(datas);
          以上代碼中,showDatas是定義在子窗口的函數,datas是父窗口要給子窗口的數據。
          需要注意的事,使用open語句打開窗口后,窗口未必能把所有代碼全部載入,因此showDatas函數未必調用有效。
          如果要有效,可以先把數據傳遞給子窗口,再在子窗口中延時調用showDatas函數。
          如此,父窗口中的代碼如下:
          var wnd = window.open("XXX.html");
          wnd.datas=datas;// 傳遞數據給子窗口
          子窗口中的代碼如下:
          setTimeout(showDatas(window.datas),1000);// 延時時間可進行調整。
          如上,父窗口調用子窗口函數才算完美。

          反過來,子窗口要調用父窗口的函數要用opener對象,如:
          opener.showMessages(msgs);
          以上代碼中,showMessages是定義在父窗口的函數,msgs是子窗口要給父窗口的數據。

          2012年5月9日增補:
          父窗口未必需要傳數據給子窗口,而是子窗口需要操作父窗口的某些區域如div時,可以在父窗口打開子窗口的函數前將這個div的id找個地方(隱藏區域)存起來,當然這個地方不需要顯示,當子窗口需要操作這個div時,直接調用父窗口的js函數即可,這個函數可以先從隱藏區域中得到div的id,再根據這個id操作div。
          posted on 2012-01-11 15:28 何楊 閱讀(1449) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 永安市| 友谊县| 平度市| 沭阳县| 临西县| 和林格尔县| 宁晋县| 南丰县| 措美县| 仁布县| 漳浦县| 佳木斯市| 温泉县| 尖扎县| 九龙县| 林周县| 蓬莱市| 唐海县| 响水县| 鱼台县| 柳河县| 永仁县| 赤壁市| 临清市| 涞源县| 清远市| 大田县| 射洪县| 沛县| 临湘市| 民丰县| 普宁市| 临沧市| 新巴尔虎左旗| 雷山县| 江华| 河北省| 肇东市| 明光市| 垦利县| 沂南县|