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