6、Electron无边框窗口和透明窗口 锁定模式 设置窗口图标

 

index.js

/**
 * 无边框窗口和透明窗口
 * frame:false无边框窗口
 * transparent:true,透明窗口
 */

/**
 * 锁定模式
 * 如果窗口处理全屏,并县锁定上状态,在Mac OS X唯一退出窗口的方式是通过<Command+Q>组合键
 * 如果在Mac OS X下,使用setKiosk方法切换窗口的锁定模式,不能将fullscreen属性设为true
 */

/**
 * 设置窗口图标
 * icon: icon:"images\\logn.jpg",//icon:".\\images\\logn.jpg",
 * if(process.platform!="darwin"){//非Mac OS X系统使用下面方法设置图标
        win.setIcon("images\\logn.jpg");
    }
 */

const {app,BrowserWindow} = require('electron');
function createWindow(){
    win = new BrowserWindow({
        //frame:false,transparent:true,
        //icon:"images\\logn.jpg",//icon:".\\images\\logn.jpg",
        //fullscreen:true,
        //kiosk:true,
        webPreferences:{
            nodeIntegration: true, // 是否集成 Nodejs
            enableRemoteModule: true,
            contextIsolation: false,
            //,preload:path.join(__dirname,'index.js')
        }
    });
    win.loadFile('index.html');
    if(process.platform!="darwin"){
        win.setIcon("images\\logn.jpg");
    }
    win.on('closed',()=>{
        console.log('closed')
        win=null;
    });
}
app.on('ready',createWindow);
app.on('window-all-closed',()=>{
    console.log('window-all-closed');
    if(process.platform!='darwin'){

    }
});
app.on('activate',()=>{
    console.log('activate');
    if(win==null){
        createWindow();
    }
});
View Code

index.html

<!DOCTYPE html>
<html>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>窗口大小</title>
<script src="event.js"></script>
<body>
    <img src="./images/shj8.jpg">
    
    <h1>书名:<i>山海经</i></h1>
    <br/>
    <br/>
    出版社:<u>大地出版社</u>
    <br/>
    <br/>
    原价:<strike>69</strike>元    促销价:59
    <br/>
    <br/>
    <button id="idInLock" onclick="onClick()">进入锁定模式</button>
</body>
</html>
View Code

 

even.js

const remote = window.require('electron').remote;
function onClick()
{
    const idInLock=document.getElementById("idInLock");
    const win = remote.getCurrentWindow();
    if(win.isKiosk()){
        //处于非定模式
        win.setKiosk(false);
        idInLock.innerText="进入锁定模式";
    }
    else
    {
        //处于锁定模式
        win.setKiosk(true);
        idInLock.innerText="退出锁定模式";
    }
   
}
View Code

 

posted @ 2021-05-19 22:29  三瑞  阅读(600)  评论(0编辑  收藏  举报