electron_window 创建窗口


/**
 * 窗口基类,封装通用的窗口操作
 */

const { BrowserWindow } = require('electron');

/**
 * 基本窗口样式
 * @type {{width: number, height: number, resizable: boolean, frame: boolean, parent: object, modal: boolean}}
 */
const windowStyle = {
    title: '云', // 窗口标题
    width: 800, // 宽
    height: 600, // 高
    resizable: true, // 窗口大小是否可变
 //   frame: false, // 是否带边框
    parent: null, // 父窗口
    modal: false, // 是否模态窗口
    show: false, // 是否显示窗口
};

/**
 * 窗口类,继承electron的BrowserWindow
 * @extends BrowserWindow
 */
class EucWindow extends BrowserWindow {
    /**
     * 窗口类,继承electron的BrowserWindow
     * @param style 窗口样式
     * @param url
     * @param win
     */
    constructor(style, url, win) {
        const myStyle = Object.assign({}, windowStyle, style);
        super(myStyle);

        win = this;

        // 阻止跳转链接
        this.webContents.on( 'will-navigate', (event)=>{
            event.preventDefault();
        });

        win.webContents.openDevTools({detach:true});

        // 加载网页
        this.loadURL(url);

        this.on('closed', function() {
            win = null;
        });

    }

}

module.exports = EucWindow;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM