Safari 中的 Javascript window.open 问题

Sud*_*hir 4 safari jquery

我正在尝试使用 jquery 打开新选项卡。但是,它不适用于 safari 或 Mac。

我的代码:

<script>
    $(document).ready(function(){
        $.ajax({
            type: 'post',
            dataType: 'html',
            url:'http://localhost/test/remoteContent.html',
            async: false,
            success:function(data){
                window.open("http:google.com",'_blank');
            }

        })
    });
</script>
Run Code Online (Sandbox Code Playgroud)

Bof*_*ain 5

我知道这不是您想要的答案,但不幸的是,这就是现代浏览器安全性的工作原理。由于可以滥用弹出窗口和其他操作在网页上做“坏事”的方式click,文件上传表单字段和window.open其他情况下的事情只有在用户明确执行操作时才会起作用。这些被称为可信事件,不能被 JavaScript 欺骗。我之前已经阅读过此内容,您应该会发现这个答案非常有用。

您必须修改您的工作流程,以便在用户单击某些内容后打开该选项卡,或者作为初始操作的一部分打开一个新选项卡。


Sud*_*hir 1

我已经找到了替代解决方案。ajax响应后创建锚标记元素并触发点击事件

 var a = document.createElement('a');
 a.href = 'https://google.com';
 a.setAttribute('target', '_blank');
 a.click();
Run Code Online (Sandbox Code Playgroud)