问题
- 在 Mac 上的 safari 下,请求一个接口,并在接口回调中调用
window.open
打开新窗口,safari 会静默阻止,啥错都不报也不给你开窗口。。很是尴尬
解决方法
在请求之前先创建 window 的实例,并在请求回调成功后修改 location 进行调整,代码如下:
var windowReference = window.open();
myService.getUrl().then(function(url) {
windowReference.location = url;
});
这个方法的缺点是用户会看到打开了一个空白页,过了一会(请求成功的时间)这个空白页才进行重定向。
See: SO
本文由 savokiss 创作,采用 知识共享署名4.0 国际许可协议进行许可
本站文章除注明转载/出处外,均为本站原创或翻译,转载前请务必署名
最后编辑时间为: Mar 21, 2018 at 11:28 am