视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
safari,opera嵌入iframe页面cookie读取问题解决方法_javascript技巧
2020-11-27 20:49:58 责编:小采
文档


查到原因是因为在这些浏览器中对第三方的cookie安全验证比较严格,需要确认是用户主动到第三方网站的,才能读到cookie,于是加个引导页面要用户点击下才能进入我们的组件。
1,首页 判断是否是这些浏览器,若是则去引导页面,其中reflag是判断是否已经去过引导页面。若已经引导过就不去引导页面了。
代码如下:
function safarireload()
{
var rehref=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;
}
}

后台代码
代码如下:
public string reflag="3";
if (Request.QueryString["reflag"] != null && Request.QueryString["reflag"].ToString() != "")
{
reflag = Request.QueryString["reflag"].ToString().Trim();
}
else
{
reflag = "0";
}

2,引导页面 rehref是要回去的页面

后台代码
代码如下:
protected void Button1_Click(object sender, EventArgs e)
{
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,页面性能更好。不过先这样了。

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

下载本文
显示全文
专题