使用window.open打开新窗口被谷歌浏览器拦截
生活随笔
收集整理的這篇文章主要介紹了
使用window.open打开新窗口被谷歌浏览器拦截
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在寫后臺動態傳前臺資源鏈接的時候,需要用到,返回后直接在新窗口打開。開發使用的谷歌瀏覽器,使用window.open(),測試的時候,發現總是被攔截,這這里記錄下解決的方法。
找了寫資料,說是當非用戶觸發的window.open()方法時,由于谷歌的安全機制,通常是會被攔截的,除非人工取消攔截。比如下面兩個例子:當用戶沒有直接發出window.open()請求的時候,不是直接調用,而是在回調函數里調用,則會被攔截。
//不會被攔截 $('#btn').click(function () {window.open(url) }); $('#btn').click(function () {$.ajax({url: 'a/aa',success: function (url) {//會被攔截window.open(url);}}) });解決方法:先在回調函數之前打開新窗口,后再加載url
$('#btn').click(function () {//打開一個不被攔截的新窗口var newWindow = window.open();$.ajax({url: 'a/aa',success: function (url) {//修改新窗口的urlnewWindow.location.href = url;}}) });歡迎指導!
千而の大獅子!
總結
以上是生活随笔為你收集整理的使用window.open打开新窗口被谷歌浏览器拦截的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 第八周--项目1--实现复数类中的运算符
- 下一篇: 项目5-模板类中使用友元函数