Javascript 从iframe打开窗口
情况就是这样。我试图提供一种服务,有人在他们的网站上嵌入一个带有表单的iframe。最后,当一个ajax请求再次出现时,我想弹出一个新窗口,其中包含一条感谢信。window.open不起作用,我猜是因为window对象属于嵌入它的页面,而不是iframe,然后会被视为跨站点脚本。还有别的办法吗 我的一个想法是,我可以在iframe中创建带有target=“\u new”的链接,单击该链接实际上会弹出另一个窗口。也许我可以创建这个链接并用javascript“单击”/“触发它” 我可以控制用户嵌入的内容,因此我也可以在其中包含脚本,但代码越少,显然效果越好 有需要吗 open不起作用,我猜是因为window对象属于嵌入它的页面 我不这么认为<脚本看到的代码>窗口通常是Javascript 从iframe打开窗口,javascript,iframe,window.open,Javascript,Iframe,Window.open,情况就是这样。我试图提供一种服务,有人在他们的网站上嵌入一个带有表单的iframe。最后,当一个ajax请求再次出现时,我想弹出一个新窗口,其中包含一条感谢信。window.open不起作用,我猜是因为window对象属于嵌入它的页面,而不是iframe,然后会被视为跨站点脚本。还有别的办法吗 我的一个想法是,我可以在iframe中创建带有target=“\u new”的链接,单击该链接实际上会弹出另一个窗口。也许我可以创建这个链接并用javascript“单击”/“触发它” 我可以控制用户嵌入
iframe
中文档的窗口
对象
更典型的是,XMLHttpRequest完成时的窗口.open
将被浏览器内置的弹出窗口阻止程序阻止。它们通常只允许直接响应用户交互而打开新窗口(通常在onclick
事件处理程序中)
也许我可以创建这个链接并用javascript“单击”/“触发它”
不,否则每个人都会这样做以避开拦截器
如果您正在启动一个XHR,并且您知道将来需要一个弹出窗口,那么您必须现在打开它,并在XHR返回之前放入一些填充内容,此时您可以更新其内容。您可能被弹出窗口阻止程序阻止。IIRC弹出窗口被阻止是因为它是由XHR onreadystatechange事件触发的,而不是由用户触发的事件触发的。浏览器的设计目的是阻止出现非用户触发的弹出窗口。