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

          真正的快樂來源于創造

            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
          主站蜘蛛池模板: 沈阳市| 阿城市| 陇西县| 远安县| 石棉县| 水富县| 凌云县| 西昌市| 永吉县| 名山县| 界首市| 石门县| 呼图壁县| 资兴市| 梁河县| 内丘县| 南安市| 德州市| 偃师市| 寿光市| 武鸣县| 长沙县| 海林市| 无为县| 鄂托克前旗| 福贡县| 上蔡县| 滨州市| 博野县| 轮台县| 晴隆县| 平潭县| 大关县| 远安县| 本溪市| 临武县| 潼南县| 保亭| 金门县| 南宁市| 车险|