zl程序教程

您现在的位置是:首页 >  后端

当前栏目

safari,opera嵌入iframe页面cookie读取问题解决方法

方法Cookie 问题 解决 页面 读取 iframe 嵌入
2023-06-13 09:14:23 时间
查到原因是因为在这些浏览器中对第三方的cookie安全验证比较严格,需要确认是用户主动到第三方网站的,才能读到cookie,于是加个引导页面要用户点击下才能进入我们的组件。
1,首页判断是否是这些浏览器,若是则去引导页面,其中reflag是判断是否已经去过引导页面。若已经引导过就不去引导页面了。
复制代码代码如下:

functionsafarireload()
{
varrehref=window.location.href;
if(jQuery.browser.safari&&<%=reflag%>=="0")
{
window.location.href="/safarireload.aspx?rehref="+rehref;
}
if(jQuery.browser.opera&&<%=reflag%>=="0")
{
window.location.href="/safarireload.aspx?rehref="+rehref;
}
}

后台代码
复制代码代码如下:

publicstringreflag="3";
if(Request.QueryString["reflag"]!=null&&Request.QueryString["reflag"].ToString()!="")
{
reflag=Request.QueryString["reflag"].ToString().Trim();
}
else
{
reflag="0";
}

2,引导页面rehref是要回去的页面
<asp:ButtonID="Button1"CssClass="rb1-12"runat="server"Text="您使用的苹果浏览器或opera,请点击进入电影票订购组件!"OnClick="Button1_Click"/>
后台代码
复制代码代码如下:
protectedvoidButton1_Click(objectsender,EventArgse)
{
if(Request.QueryString["rehref"]!=null&&Request.QueryString["rehref"].ToString()!="")
{
kaixindo.syslog(Request.QueryString["rehref"].ToString());
Response.Redirect(Request.QueryString["rehref"].ToString()+"&reflag=1");
}
}

在引导页面用js取网页url的参数rehref,页面性能更好。不过先这样了。

代码冗余或效率底下的欢迎指正。希望对有些人有些帮助。