當(dāng)柳上原的風(fēng)吹向天際的時候...

          真正的快樂來源于創(chuàng)造

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

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

          2012年5月9日增補(bǔ):
          父窗口未必需要傳數(shù)據(jù)給子窗口,而是子窗口需要操作父窗口的某些區(qū)域如div時,可以在父窗口打開子窗口的函數(shù)前將這個div的id找個地方(隱藏區(qū)域)存起來,當(dāng)然這個地方不需要顯示,當(dāng)子窗口需要操作這個div時,直接調(diào)用父窗口的js函數(shù)即可,這個函數(shù)可以先從隱藏區(qū)域中得到div的id,再根據(jù)這個id操作div。
          posted on 2012-01-11 15:28 何楊 閱讀(1457) 評論(0)  編輯  收藏 所屬分類: JavaScript
          主站蜘蛛池模板: 彝良县| 唐山市| 双牌县| 聂拉木县| 佛教| 成武县| 苏尼特左旗| 广平县| 伊宁市| 景德镇市| 绥化市| 安泽县| 普兰店市| 神池县| 鹤庆县| 南澳县| 罗田县| 油尖旺区| 岳阳县| 辽宁省| 申扎县| 威海市| 哈巴河县| 龙南县| 扶沟县| 特克斯县| 宁河县| 大余县| 安福县| 郁南县| 沂源县| 鸡泽县| 南郑县| 浦江县| 彰化市| 青田县| 平南县| 聂荣县| 乌拉特后旗| 保靖县| 丰镇市|