使用https关闭来自子页面的iframe

时间:2014-04-03 16:32:34

标签: javascript asp.net iframe

我一直在谷歌上搜索,但我找不到任何相关的信息。

我有一个.aspx页面显示在php父页面的iframe中。

当在.aspx页面上单击一个按钮时,我关闭iframe以返回到php父页面,这是我使用的代码:

void btnDone_ServerClick(object sender, EventArgs e)
{
    Page.ClientScript.RegisterStartupScript(GetType(), "CLOSEWINDOW", "window.parent.postMessage('closeSurvey', '*');", true);
}

当我使用http测试页面时,这工作正常,但在我将父页面和.aspx页面都更改为https后,此代码无法正常工作。

父页面的开发人员表示他使用相同的代码从.aspx页面接收消息,并且在.aspx页面上也没有进行任何更改。

我是否遗漏了一些内容以使其与https一起使用?

2 个答案:

答案 0 :(得分:0)

iFrame是文档中的一个窗口,您不会关闭"它就是这样......阅读"模态" ,我想你正在使用某种灯箱系统,它实际上会动态创建一个iframe,以便在灯箱中显示外部来源。

所以你实际上要做的就是关闭一个灯箱,而你却无法做到这一点因为https会阻止你从子页面的父页面访问一个元素,而http允许你这样做此

答案 1 :(得分:0)

看看这个库,它提供了一个调用,让iFrame从父页面中删除,并通过https工作。

<强> https://github.com/davidjbradshaw/iframe-resizer