瀏覽器對新視窗開啟頁面的阻止情況

2022-03-29 05:01:16 字數 1138 閱讀 5511

事情是這樣的:我們後台人員有乙個需求,希望在ajax請求成功後的**函式裡,新視窗開啟乙個頁面。示例**如下:

$("#btn").on("click",function

(), success :

function

() })

})

有三種辦法繞過這個問題,第一種方法**如下:

$("#btn").on("click",function

(), success :

function

() })

})

這個方法是在ajax請求之前,先開啟乙個空白視窗,然後在**中改變視窗的url實現的,在windows系統中,我測的瀏覽器都是ok的,都能夠新視窗開啟頁面。

第二中方法**如下:

function

openwin(url)

$("#btn").on("click",function

(), async :

false

, success :

function

() })

})

這個方法是用a標籤來模擬window.open()。不過要注意的是,這個方法必須把ajax改成同步的方式,否則還是會阻止新頁面開啟。還要注意的是,即使採用了同步的方式,safari瀏覽器始終打不開頁面。

第三種方法**如下:

function

openurl( 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 ...