2010-07-23 67 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