Я создал электронное приложение, у которого было родительское окно и дочернее окно для этого родителя.На Mac это работает нормально, родительское окно при перемещении, дочернее окно также перемещается вместе с ним.Но тот же код, когда он упакован в файл .exe и протестирован на машине с Windows, дочернее окно не перемещается вместе с родительским окном.
Ниже приведен код:
const {app, BrowserWindow} = require('electron');
const url = require('url');
const path = require('path');
let win , childWin;
function createWindow() {
win = new BrowserWindow({ height:300,width:600,show: false,
webPreferences: {
nodeIntegration: true
},resizable: false
});
win.loadURL(url.format ({
pathname: path.join(__dirname, 'index.html'),
protocol: 'file:',
slashes: true
}));
win.once('ready-to-show', () => {
win.show();
var pos = win.getPosition();
childWin.show();
childWin.setPosition((pos[0]+300),(pos[1]+22));
});
win.on('closed',()=>{
win =null;
});
childWin = new BrowserWindow({ height:275,width:300,
webPreferences: {
nodeIntegration: true
},parent: win, frame:false,resizable: false
});
childWin.loadURL(url.format ({
pathname: path.join(__dirname, 'index_child.html'),
protocol: 'file:',
slashes: true
}));
childWin.once('ready-to-show', () => {
childWin.show()
});
childWin.on('closed',()=>{
childWin =null;
});
}
app.on('ready', createWindow);
app.on('window-all-closed',()=>{
if(process.platform!=='darwin'){
app.quit();
}
});