Я работаю над страницей mvc, которая позволяет пользователям безопасно входить в систему через модальное окно colorbox. модальное выложено примерно так:
<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), поэтому его нельзя вызвать из iframe из-за разных протоколов (https и http).
Итак, как я могу либо вызвать кросс-протокол сценария (что, я думаю, вы не можете сделать), либо из iframe установить для атрибута отображения div colorbox значение none и скрыть наложение. это также скроет модальное окно, но может ли код в iframe общаться с родительскими страницами html? если бы это было возможно, я бы использовал что-то вроде:
$('#colorbox').attr('style', 'display: none;');
но этот jquery не работает.
у кого-нибудь есть идеи, как лучше поступить?