2013-04-02 78 views
0

我遇到了問題。我有一個燈箱,其中一個頁面打開一個包含不同域(用於信用卡處理)的SSL頁面的iframe。一旦交易完成,就會顯示一個鏈接。我需要這個鏈接來打開lightbox中的iframe。點擊鏈接從SSL iframe到父母?

簡單我以爲。但使用parent.document.location='';給我Error: Permission denied to access property 'document',使用parent.location.hrefwindow.parent.location.href給我NS_ERROR_DOM_PROP_ACCESS_DENIED: Access to property denied和顯然top.location.href突破燈箱也。我想自動打開鏈接中的頁面,但我不知道如何做到這一點,也沒有突破燈箱。我GOOGLE了它,但網絡似乎主要由top.loc...答案。

任何想法?

+0

的選項,這是不完全在所有瀏覽器都支持的互動中,是'window.postMessage' - https://開頭developer.mozilla.org/en-US/docs/DOM/window.postMessage – Ian

+0

讚賞,但它需要跨瀏覽器兼容恐怕。 –

+0

我不知道如何跨瀏覽器兼容,你需要它,但http://caniuse.com/x-doc-messaging – Ian

回答

0

通常的做法是,您在調用該服務時支付失敗,成功等情況下向第三服務提供商(信用卡支付)提供不同的URL。

我不認爲你可以從不同的域幀之間通過JavaScript出於安全原因

+0

好,所以失敗打開父窗口中的鏈接本身,我怎麼得到一個頁面,在與父代相同的域中,在內部框架內部,在父代和頂端不一樣的情況下突然進入父代? –

+0

我不明白這最後的評論。也許你應該重新闡述你的整個問題,解釋你正在嘗試做什麼?如果你只是願意在同一個窗口中打開一個iframe的鏈接,從而替換整個內容(parent + iframe),鏈接上的target =「top」應該足夠了... –

+0

No because target =頂部也會將其從燈箱中分解出來!我並沒有試圖與iframe中的父級進行交互,只是從父級中的iframe中打開一個鏈接,而沒有關閉lighbox,所以top就不存在了。 –