2010-07-23 55 views
0

我有一个跨域的典型设置。Cross Domain JavaScript与DHTML HTC的

site1.company.com

site2.company.com

主应用程序正在运行关闭site1.company.com的。尝试在站点1的父框架与站点2的子框架之间进行通信工作

站点1和站点2都在设置document.domain ='company.com';

通讯正常工作,但由于相同的源策略,来自site1的父框架不再能够与其他site1应用程序通信。我将相同的document.domain属性添加到site1中的每个网页。

我现在面临的问题是我们所有的20个HTC文件都不能正常工作。我试图在HTC的脚本标记中设置document.domain,但是这引发了拒绝访问的消息。

试图使用没有document.domain的HTC,导致相同的原始策略失败,并且HTC JavaScript调用正在抛出拒绝访问。

在HTC文件中启用document.domain有什么特别的吗?这甚至可以完成?

回答

1

看一看http://easyxdm.net/,它可以让你嵌入你可以跨域边界自由安全通信的帧。

它可能比打破document.domain(导致各种问题)更容易。

这很可能在HTML和HTC之间不起作用,但它会在不同域之间的页面之间运行。

+0

试图实现这一点,主要是使用套接字连接,但是这似乎是非常敏感的时机,无法让它可靠地传递消息。 – Keibosh 2010-07-27 00:48:27

+0

然后您必须错误地使用它 - 运输堆栈保证交付。 *在DOM完全加载之前,您是否可能创建了easyXDM对象?另外,是否有任何错误报告? – 2010-07-27 08:03:23

+0

没有发生任何错误,就像连接没有建立,我看到onReady代码被触发,但在另一端没有收到任何消息。我认为这可能与我们的应用程序中的框架有关。我们应用程序中的所有窗口都由HTC处理,我认为这是造成问题的原因。 – Keibosh 2010-07-28 13:06:32