nw 系统托盘的添加方式,以及ajax失效问题

时间:2023-03-08 17:42:30

1、nw 系统托盘的添加方式

/** ------------------------------------------------------------ 最小化托盘 --------------------------------------------------- */
// chrome.developerPrivate.openDevTools({
// renderViewId: -1,
// renderProcessId: -1,
// extensionId: chrome.runtime.id
// }); let toC = global.toC;
global.isShowWindow = true;
global.isMin = false;
global.maxed = false;
var tray = new nw.Tray({
title: '中庆集控管理',
icon: '/picture/logo.png'
}); tray.tooltip = "点击打开中庆集控管理"; //添加菜单
var menu = new nw.Menu(); menu.append(new nw.MenuItem({
type: 'normal',
label: '显示/隐藏',
click(){
if (global.isShowWindow) {
toC.hide("", function (err, res) {
});
global.isShowWindow = false;
} else {
toC.show("", function (err, res) {
});
global.isShowWindow = true;
}
}
})); menu.append(new nw.MenuItem({
type: 'normal',
label: '退出',
click(){
try {
global.ipphone.IpPhoneFini();
} catch (e){}
toC.exit("", function (err, res) {
// alert(res);
if (res)
child_process.exec('taskkill /im nw.exe -f', function (req, res, next) {
})
});
}
})); tray.menu = menu;
tray.on('click', () => {
if (global.isMin) {
// win.restore();
toC.maximize("", function (err, res) {
});
global.isMin = false;
return;
}
if (global.isShowWindow) {
toC.hide("", function (err, res) {
});
global.isShowWindow = false;
} else {
toC.show("", function (err, res) {
});
global.isShowWindow = true;
}
}); /** ------------------------------------------------------------ 最小化托盘 --------------------------------------------------- */

  2、 nw的弹框会导致主窗口的  由XMLHttpRequest 对象发起的ajax失效

所以我将 XMLHttpRequest  加入glob模块中使用了。

let glob = require('../console/globaldata');
var xhr = new glob.XMLHttpRequest();

  globaldata

/**
* Created by Administrator on 2017/11/30.
*/
module.exports = {
win: '',
localData: '',
XMLHttpRequest: null
}