asp.net - Internet Explorer Iframe cookie 问题

标签 asp.net internet-explorer iframe cookies

我正在构建一个 ASP.NET 3.5 应用程序,其中有一个页面加载了 iframe 中不同域中的另一个页面。以下是 Default.aspx 页面:

<asp:Content ID="Content1" ContentPlaceHolderID="mainContent" runat="server">
    <iframe src="isite.aspx" runat="server" width="100%" height="100%" scrolling="auto">

    </iframe>
</asp:Content>

下面是iframe页面isite.aspx:

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title>Untitled Page</title>
    </head>
    <body style="margin: 0; text-align: center;">
        <form id="Form1" name="frmSubmit" action="https://mysite.com/Login.asp"
        method="POST" runat="server">
        <span style="font-family: Arial">
            <asp:ImageButton ID="ImageButton1" runat="server" PostBackUrl="https://mysite.com/Login.asp" ImageUrl="/ajax-loader.gif" /> Please wait...
    <br />
        </span>
        <input type="hidden" name="txtUserName" size="30" maxlength="50" value="admin"
            onkeypress="Javascript:CheckKeyPress('ID')"/>
        <input type="hidden" name="pwdPassword" size="30" maxlength="25" value="password"
            onkeypress="Javascript:CheckKeyPress('P')"/>
        </form>
    </body>
    </html>

下面是isite.aspx.cs页面:

    protected void Page_Load(object sender, EventArgs e)
    {
        Page.ClientScript.RegisterStartupScript(Page.GetType(), "click", "<script language=javascript>document.getElementById('" + ImageButton1.ClientID + "').click();</script>");
    }

这在 Firefox、Safari 和 Chrome 中工作正常,但它在 IE 7 或 8 中不起作用。在 IE 中,它给我一个 HTTP 500 错误页面。对它做了一些研究后,我认为它是 IE 中的 cookie 问题并尝试了以下解决方案:

  1. 将以下代码添加到 Global.asax:

    protected void Application_BeginRequest(object sender, EventArgs e)<br/> {<br/> HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");<br/> }

  2. 在 Page_Init 和 Page_Load 事件中添加了以下代码行

    HttpContext.Current.Response.AddHeader("p3p", "CP=\"IDC DSP COR ADM DEVi TAIi PSA PSD IVAi IVDi CONi HIS OUR IND CNT\"");

这些解决方案都不适合我。我错过了什么?

最佳答案

我在 IE 中遇到了同样的问题,没有任何在线解决方案帮助我,在我的情况下,我强制用户在 iframe 中再次登录,这对我有用。

关于asp.net - Internet Explorer Iframe cookie 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2012255/

相关文章:

javascript - 要阻止 ClickJacking,哪个更安全?打破 iframe vs X-Frame-Options to Deny or Same Origin

asp.net - Entity Framework : Update single field with detached entity

c# - 如何使用Javascript检查Gridview模板中的复选框是否被选中?

IE9 回调上 JSON 的 jQuery AJAX 请求未定义

javascript - .getElementById IE

javascript - YouTube IFrame API-从data-video-id设置视频ID

c# - 在 web.config 中存储一个字节数组

javascript - 从一长串 html 代码构造 DOM 对象的最佳实践

css - IE z-index 和位置问题

windows-phone-7 - Windows Phone 7 & 8 : WebBrowser control fails to load web page in iframe after certificate warning