我正在为此苦苦挣扎,希望能有所启发。
单击一个按钮,我想打开一个弹出窗口,并将数据从父窗口传输到弹出窗口中的文本字段。并且,确保在填充数据之前完全加载弹出窗口。
我尝试使用 document.ReadyState=="complete",但它在弹出窗口完全加载之前触发。我还尝试在 setTimeOut 方法中检查 popup.body,但无济于事。
你能帮忙吗?
PS:弹出窗口是来自另一个域的表单!
最佳答案
除非由于 XSS 限制而控制两个域,否则您将无法执行此操作,但如果您确实控制了两个域上的内容,那么在您在框架中打开的页面中使用一些 JS 就相当简单。
在框架中使用 window.opener 将允许您调用主窗口中定义的任何函数,这与第二页 onload 事件一起是加载时触发函数所需的全部。
如果第二个页面的内容不在您的控制之下,您可以做的最好的事情是一个 AJAX 请求,然后您需要将其插入到您的页面中,这有点讨厌但可以工作。
关于Javascript 启动弹出窗口并填充文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8574604/