electron 直接打包 vue的dist包 无法获取cookie

本文探讨了如何在将网页封装为Electron应用的过程中,主进程与渲染进程间处理cookie的问题。作者分享了主进程定期读取并传递cookie给渲染进程,以及通过localStorage实现跨进程通信的方法。重点在于解决在Electron环境中使用Vuedist时cookie读取难题的技巧。
摘要由CSDN通过智能技术生成

一、项目环境

将网页端封装成pc端,所以从github上克隆了electron的项目下来,企图electron直接做一个vue dist 的壳

二、问题描述

cookie 是后端通过set-cookie直接设置的,在cookie 里面有值但是,electron 主进程可以读取,但是通过 document.cookie 死都读不出来,尝试了网上的方法没有解决,
在这里插入图片描述
在这里插入图片描述

三、临时的解决办法

  1. 在 electron mian.js 主进程中 读取cookie,定时保存
	const {app, BrowserWindow, Menu, globalShortcut, session} = require('electron')
	、
	、
	、
	  // 渲染进程里面读不到 document.cookie 的内容 通过主进程读取
	  const cookies = session.defaultSession.cookies
	  setInterval(() => {
	    cookies.get({name: 'tio_session', domain: (cookieDomain || '')}).then(res => {
	      // 发送给渲染进程事件
	      mainWindow.webContents.send('tio_session', (res.length > 0 && res[0].value) ? res[0].value : '');
	    })
	  }, 500)
  1. 在 proload 中
// 接收来自主进程的事件
const electron = require('electron')

electron.ipcRenderer.on('tio_session', (event, args)=>{
  // console.log('接收到主进程的消息',args)
  window.localStorage.setItem('tio_session', args) // 将主进程发过来的参数保存到 localstorage 中
})
  1. 在vue dist 中再通过 localStorage.getItem(‘tio_session’) 读取

  2. 实现曲线救国

四、如果有什么方法能解决,求告知我一下,感谢

五、如果遇到资源加载不出来,需要将路由设置成 hash 模式

评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值