问题描述
页面操作调用A接口,用A接口的返回结果当作B接口的请求参数发起请求,B接口响应成功,返回URL地址,通过window.open()跳转,被谷歌浏览器拦截……
问题出现的环境背景及自己尝试过哪些方法
尝试的方法一:先调用open打开新标签页,B接口返回后通过location实现访问。(否决原因:B接口响应慢,将出现白屏)
尝试方法二:手动创建a元素,通过该元素的点击方法跳转,依然被拦截
你期待的结果是什么?
先获取URL,再跳转,不被拦截。
页面操作调用A接口,用A接口的返回结果当作B接口的请求参数发起请求,B接口响应成功,返回URL地址,通过window.open()跳转,被谷歌浏览器拦截……
尝试的方法一:先调用open打开新标签页,B接口返回后通过location实现访问。(否决原因:B接口响应慢,将出现白屏)
尝试方法二:手动创建a元素,通过该元素的点击方法跳转,依然被拦截
先获取URL,再跳转,不被拦截。
13 回答12.8k 阅读
8 回答2.6k 阅读
2 回答5.1k 阅读✓ 已解决
9 回答1.7k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
5 回答852 阅读
6 回答947 阅读
浏览器规定,在用户主动操作后的一小段时间里(忘记多久了,大概几百ms),可以
window.open()
,超过了,就先屏蔽。所以有两个方案: