2010-03-09 99 views
0

有人可以幫我這個 - 我有2個應用程序AAA和BBB。 AAA的主頁包含一個顯示應用程序BBB的iFrame。當我登錄到AAA時,應使用相同的登錄信息登錄到BBB(單點登錄)和AAA主頁的頁面加載中,BBB的主頁也應該加載到iFrame中。 我試着用javascript來訪問BBB登錄頁面的表單元素來輸入登錄數據並提交。但瀏覽器給我一個'訪問被拒絕'的錯誤。我做了一些小小的閱讀,發現瀏覽器不允許跨域通信。 有人能告訴我如何實現這一目標?從父母到孩子的iframe跨域訪問

回答

0

您可以使用JSONP解決跨域限制。有一個很好的解釋over here

我已經多次使用JSONP跨域使用JavaScript。

2

好吧,我只是擴展了我的孩子到父母的跨域庫來支持父母對孩子的交流。它要求你可以從小孩到父母溝通。

我正在做的孩子對父母的溝通使用父母託管的跨域文件(我將調用xdParent),該文件加載在孩子內部的iframe中。此頁面(xdParent)然後調用parent.parent.whateverItWantsTo

所以溝通到較低的iframe,我這樣做:

  1. 兒童必須承載自己的跨域文件(我會打電話給這xdChild)
  2. 當孩子iframe中加載,加載在iframe
  3. 然後xdParent與母公司註冊其窗口對象(即parent.parent.someReservedVariable =窗口xdParent;)
  4. 當父母想做點事爲了孩子,父母使用someReservedVariable來加載xdCh xdParent
  5. xdChild內ILD然後做一些事情與孩子頁面(即parent.parent.doWhateverItWantsTo)

希望這是可以理解的。不幸的是,我不想花時間爲你創建一個簡明的例子,但是如果你有任何問題,請告訴我。

+0

這是這裏最好的答案!我花了3天的時間試圖讓一些東西去工作,所有的死衚衕,然後我發現了這個來自你和該死的,它像一個冠軍。榮譽,你救了我從放棄! – MikeSchinkel 2012-04-28 01:43:05

+0

這不再有效。我會爲你解決其他問題。天才解決方案! – Jompis 2015-09-10 14:46:54

1

不要這樣做。

這不是一個好主意。

您在修復時可能會損壞另一個涉及跨域iframe的安全漏洞。

相關問題