360浏览器,切换急速/兼容模式的时候localstorage丢失,,有没有别的数据传递方式

前端魏强
  • 46

1.360浏览器,切换急速/兼容模式的时候localstorage丢失,,有没有别的数据传递方式
2.有没有代码能够实现切换浏览器的模式(急速或兼容)
背景:目前登录页兼容ie8,为360 IE兼容模式,登录成功后跳转后的页面为急速模式

回复
阅读 789
8 个回答
  1. 国内这些套壳浏览器大多只在双核间共享 Cookie,并不共享 LocalStorage、SessionStorage 这些数据;有一些甚至连 Cookie 都不共享(比如搜狗的某些版本)。
  2. 没有,只能通过 meta 指定首次加载时默认使用哪种内核。
 document.cookie = 'data=' + xxx + ';Path=/;domain=.xxx.com';    //.xxx.com 是顶级域名共享数据  比如 .baidu.com  两种模式切换 只要baidu.com顶级域名不变都可共享

推荐用户使用chrome,firefox等专业浏览器

如果数据与业务很紧密,要么不做临时存储,要么在页面加载的时候刷新临时存储的数据。

  • 如果存的是一些下拉选项,数据库里存的key,在页面需要显示对应的value,可以在页面加载完成之后刷新请求,将下拉选项存在本地。
  • 如果是从列表页面进入详情页这种,建议不要存了,直接把对应的id通过路径传到详情页面,在详情页面请求api加载数据。

是在不行就放url吧,但感觉比较麻烦,数据多了不好操作

1.切换浏览器模式的时候localStorage的数据确实会丢失,目前是根据ie8的cookie进行数据共享,注意必须传域值:
document.cookie = name + "="+ encodeURI (value) + ";expires=" + exp.toGMTString()+ ';domain=' + window.location.hostname + '; path=/';
2.通过代码自动改变360浏览器的内核模式还是没找到解决办法

这个是没有办法的,首先,并不是所有浏览器都支持localstorage的,比如普通低版本的IE本身就不支持localstorage啊,你如何共享?

其次不同的浏览器的localstorage本身就是分离的。

为啥登录页不直接极速模式,如果说登录后的页面只兼容极速,那么在登录页进行判断提示就好了,如果兼容极速,就跳极速模式的登录,如果不兼容就提示不兼容

你知道吗?

宣传栏