Javascript 跨域iframe中的jQuery UI对话框

Javascript 跨域iframe中的jQuery UI对话框,javascript,jquery,jquery-ui,iframe,Javascript,Jquery,Jquery Ui,Iframe,我有一个长内容的iframe。我有将弹出jQueryUI对话框的链接。问题在于,对话框会在iframe的中心弹出,而不是在当前视口的中心弹出,就像在没有iframe的情况下一样 我找到了几种解决方案: 不幸的是,这些在跨域上下文中都不起作用-我总是得到权限被拒绝javascript错误,因为子iframe尝试访问父窗口 这个问题有什么解决办法吗? 例如,我是否可以允许有朋友的iframe访问其属性?我通过将设置为尝试了它,但没有任何帮助。iframe是父页面的可信子页面!一定有办法说

我有一个长内容的iframe。我有将弹出jQueryUI对话框的链接。问题在于,对话框会在iframe的中心弹出,而不是在当前视口的中心弹出,就像在没有iframe的情况下一样

我找到了几种解决方案:

不幸的是,这些在跨域上下文中都不起作用-我总是得到
权限被拒绝
javascript错误,因为子iframe尝试访问父窗口

这个问题有什么解决办法吗? 例如,我是否可以允许有朋友的
iframe
访问其属性?我通过将设置为
尝试了它,但没有任何帮助。
iframe
是父页面的可信子页面!一定有办法说

OK my son, I trust you, you can access all of my properties!

您可以让iframe向父页面发送postmessage,让父页面侦听所述postmessage并根据该消息打开自己的对话框。@KevinB哦,这很复杂,对话框有时还包含一些脚本和绑定到iframe站点的活动内容。。当家长说“好吧,我的儿子,我相信你,你可以访问我的所有财产”时,我会对一些解决方案更感兴趣。我看到的问题是,你一直试图用不同的方式重新解释这个问题,但这并不能改变这样一个事实,即仅仅因为您同时拥有父页面和iframe并不意味着您可以忽略同源策略。如果iframe中的子域、域、端口或协议与父页面中的子域、域、端口或协议不同,浏览器将限制两者之间的通信,以保护使用网站的用户免受xss攻击。如果没有这种保护,iframe包含的广告将能够将事件绑定到父页面上的所有表单,允许广告截取输入家长网站的所有数据可能会窃取个人信息。这两个页面的创建与此无关。以下是一篇博客文章,概述了解决此问题的几种方法: