事情是這樣的:我們後台人員有乙個需求,希望在ajax請求成功後的**函式裡,新視窗開啟乙個頁面。示例**如下:
$("#btn").on("click",function(), success :
function
() })
})
有三種辦法繞過這個問題,第一種方法**如下:
$("#btn").on("click",function(), success :
function
() })
})
這個方法是在ajax請求之前,先開啟乙個空白視窗,然後在**中改變視窗的url實現的,在windows系統中,我測的瀏覽器都是ok的,都能夠新視窗開啟頁面。
第二中方法**如下:
functionopenwin(url)
$("#btn").on("click",function
(), async :
false
, success :
function
() })
})
這個方法是用a標籤來模擬window.open()。不過要注意的是,這個方法必須把ajax改成同步的方式,否則還是會阻止新頁面開啟。還要注意的是,即使採用了同步的方式,safari瀏覽器始終打不開頁面。
第三種方法**如下:
functionopenurl( url )
$("#btn").on("click",function
(), async :
false
, success :
function
() })
})
與第二中方法類似,這裡用到了form標籤模擬window.open()。同理也需要把ajax改成同步的方式。令人高興的是safafi瀏覽器用這個方法能夠開啟新頁面。
以上的測試都是在windows系統下的結果。我們換到蘋果系統下,在蘋果系統下safari瀏覽器對這三個方法都失效了。
通過以上測試,在**中開啟新頁面這個互動不可取。
jq開啟瀏覽器新視窗 jquery開啟新的視窗
使用本 可以實現開啟乙個新的視窗,視窗的位置可變 html public w3c dtd xhtml 1.0 transitional en jquery彈出視窗 window width 250px background color d0def0 position absolute padding...
瀏覽器時下視窗可視區域寬度 瀏覽器和頁面的幾個概念
window.outerheight 瀏覽器的高度 window.outerwidth 瀏覽器寬度 window.innerheight 瀏覽器內頁面的可用高度,此高度包含了水平滾動條的高度。可表示為瀏覽器當前高度去除瀏覽器邊框工具條後的高度 window.innerwidth瀏覽器內頁面的可用高度...
ajax開啟新視窗被瀏覽器攔截的解決辦法
先開始開啟乙個空的新視窗,然後改變新視窗的url,具體 為 var wd window.open ajax success function data else error function data 這種實現方式有個弊端,就是不管ajax有沒有成功,都會執行 var wd window.open ...