首页 > 解决方案 > 如何在electronjs的电子主窗口的子窗口中加载外部文件

问题描述

我用电子和 next.from 主窗口创建了一个应用程序,创建了子窗口。我想将文件加载到子窗口,但它抛出文件未找到错误。

加载文件在:renderer/components/overlay/overlay.html

import {app,BrowserWindow,remote,globalShortcut} from 'electron';
import OverlayWindow from '../components/overlay/overlay';

const path = require('path');
const url = require('url');
const os=require('os');

export const createOverlayWindow=()=>{
    const overlayWindow = new remote.BrowserWindow({
        width:300,
        height:100,
        frame:false,
        webPreferences: {
            transparent: true,
            nodeIntegration: true
        }
    });
    // overlayWindow.setAlwaysOnTop(true);
    // overlayWindow.loadURL(`file://${__dirname}/renderer/components/overlay/overlay.html`)    
    console.log(path.join(__dirname, '..', 'overlay.js'));
    const urlFormat=url.format({
         pathname:  path.join(__dirname,"renderer/components/overlay/overlay.html" ),
         protocol: "file:",
        slashes: true
    })
    console.log(urlFormat);
    overlayWindow.loadURL(urlFormat);
    const shortcut = remote.globalShortcut.register('Alt+Space', () => {
        console.log('shortcut registered');
        overlayWindow.show();
      });
    overlayWindow.webContents.setFrameRate(30)
}

在此处输入图像描述

标签: electronnext.js

解决方案


推荐阅读