<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Sealyu

    --- 博客已遷移至: http://www.sealyu.com/blog

      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理 ::
      618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
    作者: sealyu   日期:2008-11-8

    今天在開發的時候,碰到客戶提到的一個問題,
    每次在下載文件的時候,IE都會阻止打開的保存文件的對話框。
    看了一下代碼,發現項目使用了一個stream servlet來處理文件下載,在使用ajax返回頁面后,使用window.open(link);打開保存對話框。
    問題應該就處在這里了,Google了一下,發現這是由于IE的安全機制。
    在微軟的網站上有這么一段話:

    Pop-Up Blocking

    The Pop-up Blocking feature blocks pop-up (and pop-under) windows initiated automatically by a Web site. Internet Explorer blocks Pop-up windows in the Internet and Restricted sites zones by default. However, the Pop-up Blocker enables pop-up windows initiated by a user action. Users can configure Internet Explorer 6 for Windows XP with SP2 to be more or less restrictive. Users can also turn off the Pop-up Blocker altogether. Generally, the Pop-up Blocker enables a window to open under the following circumstances:

    When initiated by user action, such as clicking a button or hyperlink

    When opened in the Trusted sites and Local intranet zones (considered safe)

    When opened by other applications running on the local computer

    The affected script methods are:

    window.open
    window.showHelp
    window.showModalDialog
    window.showModelessDialog
    window.external
    window.NavigateAndFind

    注:

    Pop-ups created with window.createPopup are unaffected by the Pop-up Blocker.

    在web編程過程中,經常會遇到一些頁面需要彈出窗口,但是在服務器端用window.open彈出的窗口會被IE阻止掉,showModalDialog彈出的窗口有時并不能滿足我們需要,我們需要彈出新的瀏覽器窗口。

     為什么我們編寫的彈出窗口會被IE阻止呢,原來IE會自動判斷彈出窗口的狀態,它會阻止自動彈出的窗口,而通過我們用鼠標點擊彈出的窗口,它是不會阻止的。這里就有一個問題,有人說:我的程序是寫在服務器按鈕里的,也是通過鼠標點擊彈出的呀!其實只有在加載頁面后,我們點擊到彈出這段時間頁面沒有被重新加載的情況下,彈出的窗口才不會被阻止!這也就是說,寫在服務器控件的回傳事件里的window.open都會被阻止。

    繼續Google解決辦法,在分析了幾種解決方法并進行對比之后,發現最簡單有效的方法如下:
    在window.open()函數中增加一個參數,將target設置為‘self’,
    即改為使用: window.open(link,'_self');
    問題解決。


    posted on 2008-11-08 17:16 seal 閱讀(10191) 評論(13)  編輯  收藏 所屬分類: Javascript

    評論

    # re: IE屏蔽window.open()窗口的解決辦法[未登錄] 2008-11-08 19:33 的的
    哦,不錯,學到了.thanks  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2008-11-09 08:51 ITGXG
    不錯  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2008-12-03 16:11 ss
    如果這樣做的話,他就等同于wondow.location.href的功能了!

      回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2008-12-04 13:59 larkworm
    這不是等于更改原有窗口的URL ,根本還是沒有彈出窗口啊????  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2009-03-11 09:47 lhd
    如果這樣做的話,他就等同于wondow.location.href的功能了!

    就不能在新窗口打開了
      回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2009-08-27 11:52 zl
    傳說中的簡單問題復雜化么。。。。  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2010-05-27 10:43 bigmonster
    老兄,不知道你有沒有去驗證。。。
    反正我試了是不行滴。。。  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2011-05-31 10:41 無語啊
    唉,要的要就彈出,你要是不彈出只改變本頁面的的話,那么解決的方法多的是了  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法[未登錄] 2011-11-23 16:59 無語
    你是不是在胡扯  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法[未登錄] 2012-07-23 15:57 test
    反正我試了是不行滴  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2012-08-30 18:15 jo
    胡扯  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2013-03-25 14:17 tet
    你試了嗎?根本就不能達到效果  回復  更多評論
      

    # re: IE屏蔽window.open()窗口的解決辦法 2014-11-17 15:10 123456
    反正我試了不行  回復  更多評論
      

    主站蜘蛛池模板: 日日摸夜夜添夜夜免费视频| 麻豆精品不卡国产免费看| 亚洲国产午夜中文字幕精品黄网站| 一级毛片视频免费观看| 色播亚洲视频在线观看| 午夜神器成在线人成在线人免费| 一级毛片试看60分钟免费播放| 77777_亚洲午夜久久多人| 国产日产成人免费视频在线观看| 免费无码又爽又刺激网站直播| 亚洲专区中文字幕| 亚洲免费无码在线| 手机在线看永久av片免费| 日韩毛片免费一二三| 亚洲综合激情视频| 亚洲精品tv久久久久久久久久| 亚洲黄色免费观看| 精品国产福利尤物免费| 亚洲无码一区二区三区| 亚洲人成色777777在线观看| 最近2019中文字幕免费看最新| 久久免费视频观看| 色一情一乱一伦一视频免费看| 亚洲第一二三四区| 国产亚洲情侣一区二区无码AV| 全免费a级毛片免费看无码| 欧洲人免费视频网站在线| 综合偷自拍亚洲乱中文字幕| 久久91亚洲精品中文字幕| 免费A级毛片无码A∨男男| 在线观看无码AV网站永久免费 | 国产精品久久久亚洲| 日本19禁啪啪无遮挡免费动图| 51精品视频免费国产专区| 西西人体免费视频| 香港经典a毛片免费观看看| 亚洲综合一区国产精品| 亚洲一级免费视频| 亚洲尹人香蕉网在线视颅| 亚洲午夜成人精品电影在线观看| 免费的一级片网站|