Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 通过postMessage接收消息后打开弹出窗口_Javascript_Popup_Cross Domain_Postmessage - Fatal编程技术网

Javascript 通过postMessage接收消息后打开弹出窗口

Javascript 通过postMessage接收消息后打开弹出窗口,javascript,popup,cross-domain,postmessage,Javascript,Popup,Cross Domain,Postmessage,我的网站上有一个iframe,它托管在另一个域上。它可以通过window.postMessage与主站点通信。我在iframe上有一个按钮,它在主域上调用一个JS方法,然后触发一个新窗口 这一切看起来都很好,但由于用户单击事件是在iframe域上生成的,而窗口是在主域上创建的,所以浏览器认为这是一个自动弹出窗口,并且会阻塞 我能做些什么来防止浏览器阻塞窗口吗?因为这是基于浏览器的,所以不能覆盖浏览器设置。但您可以使用javascript“modals”,这非常有用,因为它们不是弹出窗口,但没有弹

我的网站上有一个iframe,它托管在另一个域上。它可以通过window.postMessage与主站点通信。我在iframe上有一个按钮,它在主域上调用一个JS方法,然后触发一个新窗口

这一切看起来都很好,但由于用户单击事件是在iframe域上生成的,而窗口是在主域上创建的,所以浏览器认为这是一个自动弹出窗口,并且会阻塞


我能做些什么来防止浏览器阻塞窗口吗?

因为这是基于浏览器的,所以不能覆盖浏览器设置。但您可以使用javascript“modals”,这非常有用,因为它们不是弹出窗口,但没有弹出窗口的功能

我实际上调用了一个API函数,该函数会打开一个新窗口,不幸的是,modal不是一个选项。很抱歉,您无法覆盖浏览器上的用户设置。