老师,electron新建一个窗口,传入本地的一个url链接

来源:1-1 学习本课程的收获以及案例展示(内附彩蛋)

qq_乐臣氏_03984465

2022-02-09

老师,electron新建一个窗口,传入本地的一个url链接,发送请求时显示跨越问题,没有返回,但是在主窗口相同接口是正常的,如果两个窗口都要发送网络请求,并且数据共享,应该怎么处理?

写回答

2回答

张轩

2022-02-11

同学你好

简单看了你复制的代码,不太全,如果方便的话可以提供(git),方便本地调试,猜测一下流程

1 你在 renderer process(也就是一个窗口中)通过 ipcRenderer 发送了一个消息给 main,这里面有个 url

2 main 在接到这个消息后,通过发送过来的 url,创建一个新的窗口

3-1 在新的窗口中,发送接口异步请求显示跨域(出现问题)。

3-2 在 主进程main.js 发送接口异步请求数据返回成功。

假如我猜的对的话,因为在窗口中,在浏览器环境中,受浏览器的限制,跨域是不能发送成功的。而在 main.js,因为是在 node.js 环境中,所以没有限制.

建议在主进程中发送请求,然后通过事件的形式,直接吧返回的数据发送给子窗口。


0
4
张轩
回复
qq_乐臣氏_03984465
一个新窗口是一个渲染进程,你说的主窗口是在 main.js 主进程发送请求 还是 在 主窗口的 js中发送请求?这两个是不一样的。 关于课程,谢谢同学的厚爱,之后会看计划推出的,再次谢谢支持。
2022-02-12
共4条回复

张轩

2022-02-10

同学你好 

能提供简单的代码示例吗?这样可以更快定位你的问题。我没有弄清楚你的请求是在浏览器端发送的,还是在 main.js 启动窗口的脚本中发送的

0
2
qq_乐臣氏_03984465
ipcMain.on('show-singlechat-window', async (event, args) => { if (!workspaceWindow) { workspaceWindow = createWindow(args.url,800, 600, 800, 600, true, true);
2022-02-10
共2条回复

2024更新 Electron+React+七牛云实战跨平台桌面应用

开发一款自动云同步的 Markdown 文件管理软件

1251 学习 · 463 问题

查看课程