电子zoomFactor没有任何效果

时间:2017-04-28 02:12:04

标签: node.js electron atom-editor

我很困惑。当我使用'npm start'运行电子时,我有一个脚本启动我的节点服务器,然后是电子:'node server / app&&电子。'

除了分辨率非常放大外,一切正常。最重要的是,在main.js文件中设置缩放系数基本上没有效果。

然而,当我手动调用'电子'时。一切正常。分辨率很好,电子响应设置zoomFactor属性。

这是我的main.js文件:

var electron = require('electron'),
app = electron.app,
BrowserWindow = electron.BrowserWindow,
Menu = electron.Menu,
ipcMain = electron.ipcMain;


var socketUtil = require('./server/socket/socket-util');
var url = require('url');
var win;
var forceQuit = false;
var menuTemplate = [{
    label: 'Sample',
    submenu: [
        {label: 'About App', click: function(item, focusedWindow){
            focusedWindow.webContents.send('changeState', 'settings.about');
        }},
        {label: 'Quit', accelerator: 'CmdOrCtrl+Q', click: function() {forceQuit=true; app.quit();}},
        {label: 'Reload', accelerator: 'CmdOrCtrl+R', click: function() {win.reload();}},
        {
            label: 'Toggle Developer Tools',
            accelerator: process.platform === 'darwin' ? 'Alt+Command+I' : 'Ctrl+Shift+I',
            click: function (item, focusedWindow) {
                if (focusedWindow) focusedWindow.webContents.toggleDevTools()
            }
        },
        {label: 'Import Project', click: importProject},
        {
            label: 'Prefs',
            click: function(item, focusedWindow){
                focusedWindow.webContents.send('changeState', 'settings.project');
            }
        }
    ]
}];

var menu = Menu.buildFromTemplate(menuTemplate);

function importProject() {
    win.webContents.send('import:project');
}

function createWindow () {

    win = new BrowserWindow({
        width: 1200,
        height: 750,
        webPreferences: {
            webSecurity: false,
            zoomFactor: 1
        }
    });

    var express = require('./server/app')();

    win.loadURL(url.format({
        pathname: 'http://localhost:9000'
    }));

    win.webContents.openDevTools();

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

app.on('before-quit', function (e) {
    console.log('');
    console.log('before-quit');
    if(!forceQuit){
        console.log('no force quit');
        e.preventDefault();
    } else {
        console.log('yes force quit');
        beforeQuitThenQuit();
    }
});

app.on('activate-with-no-open-windows', function(){
    console.log('');
    console.log('activate-with-no-open-windows');
    win.show();
});

app.on('ready', function() {
    Menu.setApplicationMenu(menu);
    createWindow();
});

app.on('window-all-closed', function() {
    if (process.platform !== 'darwin') {
        console.log('quitting app now.');
        forceQuit = true;
        app.quit();
    }
});

app.on('activate', function() {
    if (win === null) {
        createWindow()
    }
});


function beforeQuitThenQuit() {
    socketUtil.resetClientData().then(function() {
        console.log('resetClientData promise resolved');
    });
}

1 个答案:

答案 0 :(得分:0)

我发现我遇到的差异是因为我在全球安装了电子版本1.3.5,而本地我使用的是最新的稳定版本(以及我试过的其他版本)。因此当我使用电子时,npm正在使用本地电子包。'直接命令,我正在使用全局包。

然而,我仍然不确定为什么后来的电子版本没有考虑到zoomFactor。