zoukankan      html  css  js  c++  java
  • 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
    }
    

      

  • 相关阅读:
    JSP动作--JSP有三种凝视方式
    osgi实战学习之路:5.生命周期及利用命令、装饰者模式实现基于socket交互Bundle命令demo
    一个int类型究竟占多少个字节
    FORM验证简单demo
    centOS设为文本启动方式
    定时关机命令——shutdown
    【剑指offer】Q38:数字在数组中出现的次数
    Union和Union All的差别
    基于协同过滤的推荐引擎
    Java实现 蓝桥杯VIP 算法提高 企业奖金发放
  • 原文地址:https://www.cnblogs.com/Mvloveyouforever/p/8042725.html
Copyright © 2011-2022 走看看