Tag: 电子

Javascript console.log端口

我正在使用node.js在Electron上创build一个小应用程序,并尝试输出我的应用程序连接到的端口用于开发目的。 这是我的MySQL连接代码: var mysql = require('mysql'); var con = mysql.createConnection({ host: "localhost", user: "root", password: "xxx", port: "3306" }); 和我的输出代码: con.connect(function(err) { if (err) { return document.getElementById("connection").innerHTML = "<span style='color:red;'>Not connected – Please contact Administrator</span>"; } return document.getElementById("connection").innerHTML = "Connected on port " + con.port; }); 我试图用con.port输出它,但它只是说“未定义”。 这里的正确解决方法是什么? 提前致谢。

如何获得权限来创build一个文件/目录与节点FS

在我的打包电子应用程序中运行以下内容时: fs.mkdirSync('myNewDirectory'); 我不断得到EACCES: permission denied, mkdir 。 当我处于开发模式时,不会发生这种情况。 它只发生在我打包和运行应用程序。 我如何获得适当的权限来创build一个目录,甚至一个文件,在打包电子应用程序?

如何以编程方式点击电子元素?

我有一个Electron应用程序依靠UI自动化播放,暂停和跳过全局快捷方式。 在网站上,我可以使用jQuery .click()函数并以编程方式点击这些元素。 但是,当相同的网站被embedded在电子,DOM的变化 – 是否有任何方式来点击电子网页中的特定元素? 以下是Electron在源代码中显示的内容: <body style="overflow:hidden;"> <webview id="player" preload="./preload.js" src="https://play.google.com style="position:absolute;width:100%; height:100%" disablewebsecurity="" tabindex="-1"></webview> <script> </script> </body>

Electron将Node.js和Chromium上下文结合起来意味着什么?

在博客文章中 ,作者提到,Electron将Node和Chromium结合到一个“单一的上下文”中,这意味着我们不必使用Browserify来转换代码。 我明白Electron的一个含义是您可以使用Web技术构build跨平台的桌面应用程序。 我也明白为什么我们能够写入文件系统的原因是因为Electron已经烧入了Node。而且,我们能够使用HTML / CSS / JS / DevTools的原因是因为Chromium被烘烤了。但是,我不要以为这是作者所说的。 Electron如何将Node与Chromium结合成一个“单一的环境”? 为什么不必再使用Browserify?

如何在使用'require'时从库中加载CSS

我正在build设和electron应用程序。 其中,我有一个preload脚本的webview 。 在脚本里面,我想用sweetalert 。 我用npm install –save sweetalert 。 在我的脚本里面,我加载require('sweetalert')并用swal("Hello world!");调用它swal("Hello world!"); 。 我现在注意到它看起来不正确,因为警报缺less所需的CSS文件 。 但是我用require('sweetalert')加载它,这很好,因为sweetalert可以保留在node_modules目录中,我不必关心它,但是它的CSS是它的一个组成部分,没有被拉同样的方式。 现在,解决这个问题的build议方法是什么? 请记住,我在一个javascript文件,并希望保持这种方式。 我真的必须去获得CSS文件, 并以某种方式注入 ? 而且我该怎么做,因为它在node_modules里面? 在testing之后,由于内容安全策略 ,似乎在这种特殊情况下无法完成。 无论哪种方式,与require声明相比,这看起来非常笨重,但对于不可用的简单解决scheme,似乎很奇怪。

DeprecationWarning:不build议调用不带callback的asynchronous函数

我正在处理电子+ angularjs。 我开始得到DeprecationWarning: Calling an asynchronous function without callback is deprecated.的问题: DeprecationWarning: Calling an asynchronous function without callback is deprecated. 当我使用id3js从mp3文件中读取标签。 id3({file: pathtofile,type: id3.OPEN_LOCAL}, function(err, tags) { if (err) { console.log(err); } else { console.log(tags);} }); 代码从mp3文件中重新生成标签,但保持生成此弃用警告

Socket.IO – 从客户端发送的消息在服务器和客户端上失败

我正在使用Socket.IO连接从服务器到客户端的实时数据通信平台。 服务器运行的是Node.JS,客户端是使用Atom的Electron的网页forms的桌面应用程序。 我很好地接收客户端的消息,但是当我尝试发送消息时,通过以下格式: window.socket.emit('embed',{'…'}); 服务器触发error handling程序: socket.on('error',function(err) { console.log('client error: '+JSON.stringify(err)); }); 我在我的日志中看到: client error: {} debugging客户端上的Socket.IO会在消息发送时显示日志: [14184:0511/184052:INFO:CONSOLE(1)] "socket.io-client:manager writing packet %j +10s", source: https://cdn.socket.io/socket.io-1.3.5.js (1) [14184:0511/184052:INFO:CONSOLE(1)] "socket.io-parser encoding packet %j +819ms", source: https://cdn.socket.io/socket.io-1.3.5.js (1) [14184:0511/184052:INFO:CONSOLE(1)] "socket.io-parser encoded %j as %s +0ms", source: https://cdn.socket.io/socket.io-1.3.5.js (1) [14184:0511/184052:INFO:CONSOLE(2)] "%cengine.io-client:socket %cflushing %d packets in socket%c +820ms", source: https://cdn.socket.io/socket.io-1.3.5.js […]

Electron App节点集成:如何在POST之后访问require()

我正在构build一个电子应用程序,并遇到一个问题,当页面发布到自身时,需要被定义为undefined。 我的目标是使用电子作为一个现有网站的包装,不幸的是有这个职位的行为。 经过preload和executeJavascript的大量试验和错误,我发现使用require()和节点集成工作。 除非请求是POST。 我对Electron和node非常新,所以也许我只是错过了一些简单的东西! 我在Electron 0.26.0和0.27.1中得到这个行为。 这是重新创build问题最简单的方法。 的package.json { "name": "PostExample", "version": "0.1.0", "main": "main.js", "description": "Post Loses Global" } main.js var app = require('app') var BrowserWindow = require('browser-window') var mainWindow = null; app.on('window-all-closed', function() { app.quit() }); app.on('ready', function() { mainWindow = new BrowserWindow({ "node-integration": true, }); mainWindow.loadUrl('file://' + __dirname + '/index.html') mainWindow.openDevTools() […]

电子 – 通过Web MIDI API发送Sysex消息会使渲染器崩溃

我正在开发一个可以将sysex(系统专用)MIDI消息发送到MIDI设备的Electron应用程序,每当我尝试发送sysex消息时,渲染器都会崩溃。 我可以发送非sysex消息(noteOn,noteOff等)到设备没有问题。 以下是我正在做的一些事情: message = [240, 126, 127, 6, 1, 247]; // device ID request outputPort = midi.outputs.get(portID); outputPort.send(message); 在Web浏览器中,只有Chrome浏览器需要安全连接并请求用户权限才能发送sysex消息。 我想知道这两个networkingMIDI sysex要求是否导致这个崩溃,因为我不清楚如何满足在一个电子应用程序的上下文条件。

简单的RequireJS,AngularJS,电子应用,不依赖的依赖

我正在撰写我的第一个Electron / Angular / RequireJS单页桌面应用程序。 我从电子样板开始,效果很好。 但是,我需要添加AngularJs – 锅炉板已经使用RequireJS。 我已经尝试了一些解决scheme,但是我要么得到错误,要么依赖没有被执行。 所以我试图从前面的堆栈溢出问题的简单例子,“ 简单requireJS与angularJS – angular度未定义 ”。 但是,我所看到的是文件正在被parsing,但它从不执行内部的代码。 这几乎就像一个或多个依赖没有得到满足,所以他们不执行。 我的文件如下 – 我已经添加了一些日志,所以我可以很容易地看到执行path。 app.html – 包含RequireJS的起点。 <!doctype html> <html> <head> <meta charset="utf-8"> <title>Electron Boilerplate</title> </head> <body ng-app="ReqApp" ng-controller="GreetCtrl"> <h1>{{greeting}}!</h1> <script data-main="require_config" src="vendor/require.js"></script> </body> </html> require_config.js – 包含RequireJSconfiguration。 console.log("REQUIRE_CONFIG.JS————-"+requirejs.version); requirejs.config({ // alias libraries paths paths: { 'domReady': './vendor/requirejs-domready', 'angular': […]