【发布时间】:2014-03-23 08:05:12
【问题描述】:
我基本上是在尝试在 iframe 中显示第二个网站,该网站属于同一组织但托管在不同的域名上。我正在尝试将一些数据从 iframe 传递到父框架。
父框架 = foo.com,
iframe = bar.com
如果我尝试通过 parent.setData( data ) 从 iframe 传递数据,则会出现同源策略错误。
所以我对这段代码做了一个封装,托管在foo.com/js/wrapper.js,其中包含这个函数:
var Foo = {};
Foo.setData = function(data)
{
parent.setData(data);
}
所以现在我在bar.com 上的 iframe 正在做:
<script src="http://foo.com/js/wrapper.js"></script>
<script>
Foo.setData( someData );
</script>
但是,即使 parent.setData 行出现安全错误,即使 wrapper.js 托管在父域上。
还有其他方法可以解决这个问题吗?
【问题讨论】:
-
@Quentin 任何示例代码的机会?
-
该页面上有一个完整的小节,标题为“示例”!
-
听起来你给
postMessage的第二个参数错误的值。
标签: javascript iframe same-origin-policy