2010-06-11 6 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> 

thats основной макет.

Что происходит, когда форма iframe аутентифицирована, она вызывает родительскую. $. Fn.colorbox.close(), которая закрывает модальную и перезагружает родительскую страницу.

Теперь проблема заключается в том, что colorbox.close-скрипт находится на родительской странице (а не в iframe), поэтому он не может быть вызван из iframe из-за разных протоколов (https и http).

так как я могу либо вызвать протокол перекрестного сценария (который, я полагаю, вы не можете сделать), либо из iframe установить атрибут отображения colorbox div на none и скрыть оверлей. это также скроет модальность, но может ли код в iframe говорить с родительскими страницами html? если бы я мог использовать что-то вроде:

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

но этот jquery не работает.

У кого-нибудь есть идеи о том, как лучше всего действовать?

ответ

0

Это своего рода хак, о котором я думаю ... При успешном входе в систему переадресация на обычную страницу означает наличие http и в том, что вы пишете свой код, чтобы вызвать родительские окна, просто добавив javascript.

Я нашел, что это работает для меня, надеюсь, что это сработает и для вас. однако это не чистое решение, а только обходное решение

Imran