从iframe javascript事件中打开一个新选项卡,不带弹出框
我在页面中有一个iframe 在我成功地将数据发送到iframe中的服务器后,服务器会响应下一个要打开的URL,我想在新选项卡中或在父窗口中打开下一个URL 我面临的问题是,浏览器将其视为弹出窗口并阻止它。 在chrome中,它被视为弹出窗口,而在safari中,它什么都不做 iframe指向(用REACT编写) 父URL为 下面是导致错误的代码部分从iframe javascript事件中打开一个新选项卡,不带弹出框,javascript,jquery,iframe,Javascript,Jquery,Iframe,我在页面中有一个iframe 在我成功地将数据发送到iframe中的服务器后,服务器会响应下一个要打开的URL,我想在新选项卡中或在父窗口中打开下一个URL 我面临的问题是,浏览器将其视为弹出窗口并阻止它。 在chrome中,它被视为弹出窗口,而在safari中,它什么都不做 iframe指向(用REACT编写) 父URL为 下面是导致错误的代码部分 this.props.dispatch(actions.init_db(vals, (error,data)=>{
this.props.dispatch(actions.init_db(vals, (error,data)=>{
this.setState({loading:false})
if(error){
this.setState({error:error});
}else{
url=data.next_url;
var win=window.open(url);
win.focus();
}
}));
基本上,actions.init_db()调用将值写入服务器的ajax函数
服务器响应错误或数据。如果没有错误,则数据包含下一个URL,我要打开该URL
对此解决方案的任何建议或替代方案都将不胜感激。您不能。如果调用
window.open
的代码没有直接响应用户操作(如单击),则很可能会被浏览器的弹出窗口阻止程序阻止。解决方案是确保您运行的代码直接响应用户操作。例如,当您从服务器获得URL时,在页面上显示一个div,其中包含链接,供用户自己打开