我想用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>
答案 0 :(得分:3)
我知道这不是你想要的答案,但不幸的是,这就是现代浏览器安全的工作方式。由于弹出窗口和其他行为可以被滥用来做坏事的方式&#39;在网页上,文件上传表单字段click
和其他情况下window.open
之类的内容仅在用户明确执行操作时 才能正常工作。这些被称为trusted events,不能被JavaScript欺骗。我之前已经阅读了这篇文章,你应该发现this answer非常有用。
您必须修改工作流程,以便在用户点击某些内容后打开该标签页,或者在初始操作过程中打开新标签页。
答案 1 :(得分:0)
我已经找到了替代解决方案。在ajax响应之后,创建锚标记元素并触发click事件
var a = document.createElement('a');
a.href = 'https://google.com';
a.setAttribute('target', '_blank');
a.click();