手机 window.open

var link = 'https://www.instagram.com/accounts/login/?force_classic_login=&client_id=CLIENT-ID&next=/oauth/authorize/%3Fclient_id%3DCLIENT-ID%26redirect_uri%3DREDIRECT-URI%26response_type%3Dtoken';
            $scope.re = function () {
                window.open(link, '_self');
            }; //手机端可以响应window.open
            window.onload = function () {
                window.open(link, '_self');
            }; //ios safari不能触发window.open,可能需要用户点击,android模拟器可以
把_self 改为_blank, pc端浏览器会阻止弹出新窗口。手机端都打不开

document.getElementById('foz').
                addEventListener('click', function (evt) {
                    var a = document.createElement('a');
                    a.setAttribute('href', link);
                    // a.setAttribute('target', '_blank');
                    a.click();
                    // var dispatch = document.createEvent('HTMLEvents');
                    // dispatch.initEvent('click', true, true);
                    // a.dispatchEvent(dispatch);
                }, false);

如果safari什么也没弹出有可能设置 safari阻止弹出式窗口

I using trying to use window.open in the success method for a jquery $.ajax call when async is set to true. Safari would ignore window.open. Changing jquery $.ajax call to async: false allowed window.open to work
参考:https://stackoverflow.com/questions/20696041/window-openurl-blank-not-working-on-imac-safari

最近遇到一个问题,safari浏览器不支持window.open直接打开新窗口,经过测试,发现一个问题:

当window.open为用户触发事件内部或者加载时,不会被拦截,一旦将弹出代码移动到ajax或者一段异步代码内部,马上就出现被拦截的表现了。

解决办法:
1、在ajax回调函数里面使用window.open(直接使用window.open属于浏览器行为,所以被阻止打开新窗口);
2、苹果系统设置,偏好设置->安全性,去掉阻止弹窗的复选框就ok了。
参考:https://blog.csdn.net/illusion_you/article/details/79131765

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 我是隔壁老张阅读 142评论 0 0
  • 绵绵细雨话浓情。 痴痴鸳鸯御园戏, 萦萦鸟鸣绕梦中。 玄武湖上跃锦鲤, 夫子庙前宿千灯。 钟山下 水淙淙。 只盼明...
    书婷_e5a1阅读 203评论 0 0
  • 今天做了一件让自己后悔的事,不该打大宝不该去打吊瓶
    钰丹庭阅读 180评论 0 0
  • 今天误打误撞的踏了青,去了本市的博物苑。 在家乡,这时候是初春吧,但在南通,这似乎是春的尾巴,各式各样的花开的明媚...
    小球杆君阅读 224评论 0 0
  • 晚上回家,一个人随便做了点吃的。随手打开电视,为的是寂静的夜里有点声音。这样的夜晚对我来说很常见,有人会觉得孤...
    我是飘姐阅读 659评论 0 3

友情链接更多精彩内容