当前位置: 首页 > news >正文

电商网站项目建设青岛建网站的公司有哪些

电商网站项目建设,青岛建网站的公司有哪些,门户网站建设项目书,画室网站模板业务场景:主项目是用vue写的单页面应用,但是有多开页面的需求,现在需要在用户关闭了所有的浏览器标签页面后,自动退出登录。 思路:因为是不同的tab页面,我只能用localStorage来通信,新打开一个…

业务场景:主项目是用vue写的单页面应用,但是有多开页面的需求,现在需要在用户关闭了所有的浏览器标签页面后,自动退出登录。

思路:因为是不同的tab页面,我只能用localStorage来通信,新打开一个标签页(页面初次装载时),我就往数组中加一个页面,在(页面关闭或刷新等)页面卸载时移除它。这样就只需要在页面装载时(load事件)判断当前是不是刷新页面就可以了,只要是其他来源就直接登出。

2024-01-06 22:23 更新:修改了页面load事件,在页面数组中无页面时,直接去登录页面了,但是还是得把页面加入到页面数组中,那个return没有必要。这个return会导致进入一个新设备(或者清空了浏览器缓存,即清空了currently_open_page)时,未记录当前页,那么页面数组就是空的,导致打开新页面时也直接去登出了。

代码

import store from '@/store'const cache_key = 'currently_open_page'/*** 主方法,外部只要调用此方法就可以了*/
export function mount() {window.addEventListener('beforeunload', function () {const currentRoute = getCurrentPage()delPage(currentRoute)})window.addEventListener('load', function () {// 网页通过“重新加载”按钮或者location.reload()方法加载if (window.performance.navigation.type != 1) {// 如果页面不是刷新进来,不管是任何来源,都可以认为是新进入页面,此时应该就去登录页面if (!getCurrentOpenPageList().length) {store.dispatch('user/logout')}// return}// 添加新的页面const currentRoute = getCurrentPage()addPage(currentRoute)})
}/*** 获取当前的页面(tab页面),目前就用时间值吧* @returns*/
function getCurrentPage() {if (!window._currentPage) {window._currentPage = 'page_' + new Date().getTime()}return window._currentPage
}/*** 获取当前已打开的页面列表* @returns*/
function getCurrentOpenPageList() {const t = window.localStorage.getItem(cache_key)if (t) {return JSON.parse(t)} else {window.localStorage.setItem(cache_key, JSON.stringify([]))return []}
}/*** 往缓存中新增页面*/
function addPage(page) {const list = getCurrentOpenPageList()list.push(page)window.localStorage.setItem(cache_key, JSON.stringify(list))
}/*** 往缓存中移除页面*/
function delPage(page) {const list = getCurrentOpenPageList()const findIndex = list.indexOf(page)if (findIndex != -1) {list.splice(findIndex, 1)}window.localStorage.setItem(cache_key, JSON.stringify(list))
}/*** 清除所有的页面*/
export function clearAllPage() {window.localStorage.setItem(cache_key, JSON.stringify([]))
}
http://www.yayakq.cn/news/553973/

相关文章:

  • 电商网站的二级菜单怎么做靖宇东兴自助建站
  • 郑州网站关键词优化新闻大全
  • 美橙网站建设南的iis10 wordpress
  • 做电影网站如何盈利泉州教育平台网站建设
  • 优秀个人网站主页简约好看的ppt模板免费下载
  • 徐州专业做网站较好的公司互联网产品设计公司
  • 用.net做网站好 还是用php网络推广优化招聘
  • 网站基础风格创建各种wordpress图片相册插件比较
  • 商城网站建设那家好旅游网官网
  • idc网站源码网站制作合同
  • 有关wordpress教学的网站瑞安市规划建设局网站
  • 盐城网站建设制作方案上海网站建设哪家好
  • 江苏省建设协会网站网页设计论文html
  • 江门网站制作方案软件推广渠道
  • 建设游戏运营网站开展工作内容微网站建设找哪家公司好
  • html课程教学网站模板朗润装饰成都装修公司
  • 广州商城网站建设报价wordpress 必须登陆
  • 怎么在服务器建立网站易名网站备案
  • 泰兴公司做网站wordpress 注册 登陆
  • 网站推广结束语西宁网站建设电话
  • 钓鱼网站制作的报告企业运营网站建设
  • 江苏网站建设哪家好济南市住房和城乡建设局官方网站
  • 网站结合微信广州做护肤品的网站
  • 高端网站建设的网站强军网网站建设
  • 青岛开发区制作网站公司网站从建设到上线流程图
  • wordpress快速建站教程视频教程怎么做门户网站设计方案
  • ps做网站广告logowordpress不显示空行
  • 网页设计与网站建设作业答案设计一个小型的局域网方案
  • 网站开发与网页制作的区别手机网页开发模板
  • 南宁网站推广工具外贸个人网站