2012-08-29 76 views
0

我被困在1個位置,需要一些幫助。我在apache tomcat服務器上創建了兩個子域,如domain1.localhost.com和server.xml中的domain2.localhost.com。在domain1上,我有一個包含iFrame(託管在domain2上)的JSP。我們如何將JS變量從子Iframe傳遞給父JSP,並將其存儲在domain1.localhost.com上託管的JSP本地變量中?將子變量Iframe中的JS變量傳遞給跨子域上的父JSP

我試圖在兩個JSP上定義document.domain =「localhost」,但沒有奏效。由於顯而易見的跨域策略,即使是父級DOM窗口在子級iFrame中也不可用(在子域上)。

任何幫助將不勝感激。

回答

0

你正在使用什麼確切的域名結構? 如果您使用mydomain.localhost,則無法使用.localhost作爲域名的共享部分,因爲它是第一級別的doman。 如果您使用的是mydomain.localhost.com,那麼共享部分(document.domain)應該是「localhost.com」,而不是像您在問題中提到的那樣是「localhost」。 document.domain應該可以正常工作,但即使您有兩個不同的域,例如company1.com和company2.com,仍然可以通過EasyXDM的幫助將值從iframe傳遞給父級。

+0

謝謝。更新document.domain =「localhost.com」的作品。 – Tarun

+0

但我還有1個問題。我必須在父JS變量中分配子Iframe JS變量的值。你能幫我嗎? – Tarun

+0

哦,對不起,我錯過了你的第二個問題。所以遲到比從未好,對吧? >我必須在父JS變量中分配子Iframe JS變量的值。 如果他們共享了document.domain,那麼很容易,因爲parent.window.someVariableOfParent = someVariableOfIframeChild; –

0

對不起,但我不認爲這是可能的。但也許你可以解釋你正在努力實現的目標,也許我們可以想出一些替代方案:-)

+0

在子iframe我有幾個omniture標籤存在。我想將所有這些標籤傳遞給父JSP(位於另一個域)。因此,在兒童Iframe中,我創建了一個JavaScript函數,它採用所有omniture標記並創建一種哈希映射或鍵值對結構,並將所有內容存儲在變量中。現在我需要將該變量傳遞給父JSP的局部變量,以便可以在父級別使用omniture標記。 – Tarun

+0

top是您參考到達外框的變量。它是外框的窗口。 所以top.document.body是外框的主體。您可以使用top.myfunction(sendLocalVariables)調用全局函數; 我想這是拼圖的最後一塊,如果跨產地的東西工作:-) –