J2EE社區

          茍有恒,何必三更起五更眠;
          最無益,只怕一日曝十日寒.
          posts - 241, comments - 318, trackbacks - 0, articles - 16

          Javascript關閉當前窗口

          Posted on 2010-03-25 11:45 xcp 閱讀(1829) 評論(0)  編輯  收藏 所屬分類: Javascript

          這個太簡單了,window.close()就可以了;

          不過它會出個提示“您查看的網頁正在試圖關閉窗口。是否關閉窗口?”,能不能不出這個提示?N年前就有人問過我,那時候我還是菜鳥,不過我的回答還算“專業”。呵呵;

          “如果你第一次打開這個網頁,window.close()就會彈出提示,如果這個網頁是由其它的網頁window.open()出來的頁 面,window.close()時,就不會出現提示;還有,當chm幫助文檔中的頁面,在點擊關才,激活window.close()時,也會不出提 示。”

          上面的回答,是我當時通過測試得出的結果。沒有進行過“理論”分析,那個時候,對javascript還僅僅是會用一些簡單方法而已。

          這個小問題,我也沒有當回過事兒,前兩天,有朋友問到,我也是這樣回答,不過他說,見別人可以的,希望我能幫幫忙,我說,不太可能吧,不過忽然想起,opener語句;

          window.opener語句,可以返回打開當前頁面的那個網頁,就是在a.htm中,open()了b.htm頁面,那么,在b.htm頁面中,window.opener,就會返回a.htm。

          如,我在b.html寫入
          alert(window.opener.location.href);
          就會彈出a.htm的完整路徑;

          那么,當我window.close()時,它是不是能過opener來判斷當前頁是不是被open的呢?試一下就知道嘍;

          <script language="JavaScript" type="text/javascript">
          function cl()
          {
          window.opener='';
          window.close();
          }
          </script>

          上面的方法就是當前頁面的opener賦為空字符串(空字串可不是null,并不是為空),然后關閉當前頁,隨便做個按鈕,來觸發這個方法;
          <input type="submit" onclick="cl()" name="Submit" value="提交" />

          果然,點擊即關閉了當前窗口,且沒有提示;呵呵;

          想到,可能會用在框架頁面,就是frame的子頁中,那么上面的代碼是不是應該寫成

          <script language="JavaScript" type="text/javascript">
          function cl()
          {
          window.top.opener='';
          window.top.close();
          }
          </script>

          我沒有做測試,應該可以的吧。




          名稱: ?4C.ESL | .↗Evon
          口號: 遇到新問題?先要尋找一個方案乄而不是創造一個方案こ
          mail: 聯系我


          主站蜘蛛池模板: 长岛县| 龙井市| 怀安县| 玉树县| 堆龙德庆县| 惠安县| 紫云| 济南市| 老河口市| 曲水县| 湘西| 木里| 武威市| 花莲市| 沙湾县| 泾源县| 田东县| 安岳县| 栖霞市| 日照市| 西城区| 区。| 卫辉市| 西盟| 兴化市| 汉沽区| 汝南县| 革吉县| 乌拉特中旗| 梁平县| 宁夏| 门头沟区| 济南市| 新津县| 措勤县| 赤水市| 岐山县| 康定县| 封丘县| 安阳市| 会昌县|