nw 系统托盘的添加方式,以及ajax失效问题
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 }