Trước tiên, bạn cần phải ngăn chặn ứng dụng xuất hiện trong thanh tác vụ
{
"name": "My App",
"version": "1.0.0",
"main": "app.html",
"window": {
"show": false,
"show_in_taskbar": false
}
}
Sau đó, bạn cần phải tạo ra khay (thanh trên cùng) menu: (ví dụ từ nguồn của mình)
tray = new app.node.gui.Tray({
title: '',
icon: 'assets/css/images/menu_icon.png',
alticon: 'assets/css/images/menu_alticon.png',
iconsAreTemplates: false
});
Sau đó, cần tạo ra cửa sổ ẩn và hiển thị nó khi nhấp vào trong khay:
// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = app.node.gui.Window.open('templates/panel.html', params);
function showPopup (x, y) {
window.on('document-end', function()
window.moveTo(x - (window.window.width/2) - 6, y);
window.show();
window.focus();
});
}
// show panel when click in tray
tray.on('click', function (evt) {
showPopup(evt.x, evt.y);
});
Nguồn
2015-03-01 08:06:51
Hãy lưu ý rằng điều này không hoạt động trên phiên bản cũ của node-webkit/nw.js. Chúng tôi đang sử dụng phiên bản 0.8.6 vì chúng tôi chạy trên rất nhiều mô-đun gốc yêu cầu sử dụng nodeJS 0.10. Trong các phiên bản trước đó, sự kiện 'click' cho' Khay' trong OS X không kích hoạt, nó sẽ xuất hiện trong Windows và Linux. Như đã được thảo luận trong vấn đề này. https://github.com/nwjs/nw.js/issues/1874#issuecomment-67249147 – Feanaro