Tag: node webkit

防止在节点webkit kiosk模式下显示OSX菜单栏

我有一个节点的webkit(nw v0.12.3)应用程序,它以kiosk模式打开 var nw = require('nw.gui'); var win – nw.Window.get(); win.enterKioskMode(); 这工作正常,除了当鼠标hover在OSX的屏幕上的Mac菜单栏滑落。 有什么办法可以防止这个? 谢谢

重新连接不同的IP后,Socket.remoteAddress不会更新

我正在编写通过TCP与测量传感器进行通信的NWJS应用程序。 我正在使用一个套接字实例。 当build立连接(连接事件)时,我使用remoteAddress属性来显示当前连接的传感器的IP地址。 问题: 我连接到IP地址上的传感器,比如说A,remoteAddress和_host socket属性都是正确的。 我使用socket.destroy()断开传感器 我将应用程序连接到IP地址B上的另一个传感器,然后出现问题 – remoteAddress属性显示错误的以前的地址A,但_host属性显示B 最小步骤重现(交互式nodejs控制台): net = require('net') socket = new net.Socket() socket.connect("192.168.0.20", 1028) //socket.remoteAddress is 192.168.0.20, socket._host is 192.168.0.20, socket.destroy() //later socket.connect("192.168.0.17", 1028) //socket.remoteAddress is 192.168.0.20, socket._host is 192.168.0.17 我可以通过每次创build传感器套接字的新实例或者使用_host属性来解决这个问题,但是想讨论这个行为的原因(bug?)

以编程方式识别SDK和普通版本

我想确定node-webkit是否在SDK或普通版本中。 有没有办法在代码级别做到这一点?

邮袋查询阻止了dom

这里是我的代码来testingpouchdb查询: 主文件: var myAudio = new Audio("http://www.stephaniequinn.com/Music/Allegro%20from%20Duet%20in%20C% 20Major.mp3"); myAudio.play(); var worker = new Worker('worker.js'); worker.postMessage("start worker"); worker.addEventListener('message', function(e) { console.log('Worker said: ', e.data); }, false); Worker.js: importScripts("pouchdb-5.2.0.min.js"); self.addEventListener('message', function(e) { queryDocs(); }, false); function queryDocs(){ localDB.allDocs({ include_docs: true, attachments: true }, function(err, response) { if (err) { return console.log(err); } self.postMessage("returned docs:", response); }); } […]

Node.js – 在本地下载并保存PDF文件进行脱机 – 文件损坏

我目前有一个使用Node Webkit构build的桌面应用程序。 当用户在线时,应用程序将从服务器打开PDF文件。 然后,我将这些文件保存在本地,以便在脱机时可用。 我正在使用Node.js文件系统的fs.writeFile()在本地保存PDF,但是当试图通过应用程序打开它时,PDF是空的。 当我尝试从文件夹中直接打开它时,出现以下错误。 任何人都可以请指教? //save PDF file for offline function saveFile(pdfvar) { var filename = 'test.pdf'; fs.writeFile(filename, pdfvar); } //open PDF in new window $('#stage').on('click', '#pdflink', function(event){ var pdfvar = (this.getAttribute('data-pdffile')); window.open(pdfvar, "_blank"); if(online===true){ saveFile(pdfvar); } });

在生产模式下,closures模块创build的节点应用程序closures

我正在使用一个node.js应用程序的.exe已使用Enclose模块,虽然它工作正常,唯一的问题是应用程序自动closures10分钟后打开,如果闲置,没有互动。 是否因为“stream程工作时间”和“networking连接”在免费版本中有限制? 如果我订阅完整版本,应用程序是否会继续运行而不closures? 这个问题将被永久固定为用付费版本创build的exe版本,还是只有在我的订阅结束后,exe才能正常工作? 我该怎么做才能解决这个问题。 或者如果我必须select任何其他模块来启动生产节点应用程序,那么我应该select哪个模块? 任何使用节点js的Enclose模块的人都可以解决这个问题吗? 谢谢!

无法在nw.js中设置https代理(以前的node-webkit)

http://docs.nwjs.io/en/latest/References/App/#appsetproxyconfigconfig-pac_url我在这里了解到,可以在nw.js中设置https代理。 但我的简单脚本不起作用。 初始化之后,我在浏览器中访问了一个页面,但是我的IP不会改变。 我究竟做错了什么? <script> var gui = require('nw.gui'); gui.App.setProxyConfig("https=uk.freevpn.pw:443"); </script>

Node和Node-Webkit之间的奇速差(〜10ms VS〜520ms)

我注意到在简单的node.js VS node-webkit之间速度的显着差异 我正在做的是使用HTTP模块连接到本地主机couchdb。 相同的代码需要约520ms才能build立连接,并在node-webkit中返回一个响应,而在普通的node.js中需要~10ms 有更深入的node-webkit知识的人可以帮助解释是什么造成的? 代码如下 Class = new function() {}; Class.prototype.info = function(s) {console.log(console,s);} Class.prototype.err = function(s) {console.log(console,s);} Class.prototype.warning = function(s) {console.log(console,s);} Class.prototype.debug = function(s) {console.log(console,s);} Class.prototype.postMessage = function(oterm, msg) { __cb.shift().call(this, msg); } Class.prototype.onMsgFor = {}; Class.prototype.__agentkeepalive = require('agentkeepalive'); Class.prototype.__http = require("http"); Class.prototype.__follow = require("follow"); Class.prototype.__http.globalAgent.maxSockets = 1; Class.prototype._onInit = function(props) { […]

基于文件下载的进度条

我将如何显示一个基于节点webkit中下载的文件的进度条? var https = require('https'); var fs = require('fs'); var exec = require('child_process').exec; var file = fs.createWriteStream("update_setup.exe"); var len = 0; var request = https.get(url + 'appdata/update_setup.exe', function (response) { response.pipe(file); response.on('data', function (chunk) { file.write(chunk); len += chunk.length; var percent = (len / response.headers['content-length']) * 100; }); file.on('finish', function () { setTimeout(function () { […]

fs.writeFile()只保存string的一部分

我正在使用node-webkit创build一个文本编辑器。 当用户单击“保存”菜单项时,我使用fs.writeFile()方法将纯文本文件写入磁盘: fs.writeFile(file, txt, function (err) { if (err) throw err; console.log("file saved"); }); 但是,它并没有保存通过“txt”variables传递的整个string。 只是将前300个字符保存到文件中。 我试过使用这个方法,和同步方法fs.writeFileSync。 两者都有同样的问题。 我已经尝试logging传递给该方法的txtstring,以确保没有任何错误。 任何想法,为什么我没有得到我保存的文件中的全文?