我一直在谷歌上搜索,但我找不到任何相关的信息。
我有一个.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一起使用?
答案 0 :(得分:0)
iFrame是文档中的一个窗口,您不会关闭"它就是这样......阅读"模态" ,我想你正在使用某种灯箱系统,它实际上会动态创建一个iframe,以便在灯箱中显示外部来源。
所以你实际上要做的就是关闭一个灯箱,而你却无法做到这一点因为https会阻止你从子页面的父页面访问一个元素,而http允许你这样做此
答案 1 :(得分:0)
看看这个库,它提供了一个调用,让iFrame从父页面中删除,并通过https工作。