2010-06-11 213 views
0

我正在一個mvc頁面上,允許用戶通過colorbox模式窗口安全登錄。模式是這樣擺放的:jquery交叉協議錯誤

<html> 
    <body> 
    <div id="overlay" style="display: block;" class="overlay"> <div> 
    <div id="colorbox" style="display: block;"> 
     <iframe id="logonIFRAME"> 
      logon form is in this ssl iframe 
     </iframe> 
    </div> 
    <div id="restofpage"> </div> 
    </body> 
</html> 

那就是基本佈局。

當iframe表單被認證時會發生什麼,它會調用parent。$。fn.colorbox.close(),它會關閉模式並重新加載父頁面。

現在問題是colorbox.close腳本位於父頁面(而不是iframe),因此由於協議不同(https和http)而無法從iframe調用。

所以我怎樣才能調用腳本交叉協議(我相信你不能做)或從iframe設置colorbox div的顯示屬性爲none和隱藏覆蓋。這會隱藏模式,但是iframe中的代碼可以與父頁面html交談?如果它可以使用類似的東西:

$('#colorbox')。attr('style','display:none;');

但jQuery的不起作用。

任何人有任何想法如何最好地繼續?

回答

0

這是一種黑客我想...在成功登錄重定向到普通頁面意味着有http,並在那裏你編寫代碼來調用父窗口通過簡單地添加JavaScript。

我發現這是對我有用,希望它也適用於你。然而這不是純粹的解決方案,只是一種解決方法

Imran