360浏览器急速和兼容模式Cookie是共享的

背景

公司认证在使用ticket登录时,由于ticket在url里面登录后ticket已失效,此时切换兼容模式或者急速模式由于url没有变化,导致ticket二次使用,后端提示ticket已使用

解决办法

存入Cookie来查询一下ticket是否使用过,使用过直接常规登录即可,未使用传递ticket用静默登录。


function getTicket () {
  const ticket = getQueryString( ticket )
  if (ticket && !getCookie(ticket)) {
    setCookie(ticket,  true , 1)
    return ticket
  } else {
    return   
  }
}

function setCookie (cname, cvalue, exdays) {
  var d = new Date()
  d.setTime(d.getTime() + (exdays * 24 * 60 * 60 * 1000))
  var expires =  expires=  + d.toGMTString()
  document.cookie = cname +  =  + cvalue +  ;   + expires
}

function getCookie (cname) {
  var name = cname +  = 
  var ca = document.cookie.split( ; )
  for (var i = 0; i < ca.length; i++) {
    var c = ca[i].trim()
    if (c.indexOf(name) === 0) return c.substring(name.length, c.length)
  }
  return   
}


知识点

  1. 360浏览器急速和兼容模式切换sessionStorage 和localStorage是不共享的
  2. Cookie是共享的切换的时候是能够读取到的
© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容