问题标签 [electron]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Electron 应用程序中捕获文件下载事件
我正在使用 Electron 围绕网页编写一个包装桌面应用程序。我正在使用<webview>
控件来显示页面。请注意,如果我单击导致在普通浏览器中下载文件的链接(HTTP 响应具有Content-Disposition
标头)在 Electron 中不会执行任何操作,这对我来说很好,因为我喜欢控制下载的文件会发生什么。该应用程序将在受限环境中运行。
似乎无法弄清楚我怎样才能捕捉到下载事件。当我单击链接时did-get-response-details
会触发事件,但我无法访问任何响应数据(至少是标题),也没有声明 Electron 不会处理此链接,因此我可以做任何我想做的事情它是我自己的,就像使用 node.js API 获取它一样。
windows - 在 Electron 应用程序上处理 Squirrel 的事件
这些天来,我正在使用Electron为 Windows 构建一个小型原生应用程序,并且我正在使用Grunt Electron Installer为我的应用程序创建一个安装程序。
安装程序已成功创建,但我不知道如何在我的应用程序中处理 Squirrel 的事件,如文档中所述,我已将此添加到我的应用程序的入口点:
但是我不知道在这个 switch 语句中要做什么,例如,为我的应用程序创建快捷方式。实际上我什至不知道这个开关是否有效,因为当我安装(或卸载)我的应用程序时,它会启动并且永远不会退出。
任何帮助表示赞赏!
electron - 在电子(atom-shell)中的 js 和 html 部分之间传递信息
根据教程,电子应用程序有两个部分 - 入口main.js
文件和index.html
.
- 我是否必须将
main.js
其作为脚本包含在 html 文件中 - 如何触发视图 html 文件中的事件以影响 js 应用程序的状态,反之亦然?他们俩基本是怎么交流的?
node.js - 无法找到 electron-prebuilt 的版本号。- 尝试使用电子重建时
我正在尝试在电子(原子壳)中使用蓝牙串行端口本机模块。我做了以下。
- 安装了电子预建。
npm install electron-prebuilt -g
npm install electron-prebuilt --save-dev
- 安装电子重建
npm install --save-dev electron-rebuild
- 安装蓝牙串口
npm install bluetooth-serial-port --msvs_version=2013
- 运行电子重建命令。
./node_modules/.bin/electron-rebuild
我收到以下错误。
找不到电子预建的版本号,要么安装它,要么指定一个明确的版本“
任何人都可以帮忙吗?
javascript - 完全加载后显示窗口
当我创建基本应用程序并使用electron
命令对其进行初始化时,它会显示一个空白窗口,稍后会加载内容。
内容完全加载后,应该使用哪个事件和哪个对象来显示窗口?
did-finish-load
在一个window.webContent
物体上?或者也许dom-ready
?或者也许是别的什么?
应用程序.js:
momentjs - 在电子中加载网页
我正在尝试在电子应用程序中加载网页,这是我第一次尝试使用电子,所以我一点也不熟悉。该应用程序非常简单:
该页面正在使用 moment(它是对 moment.langData(...) 的调用失败),但收到错误消息:Uncaught ReferenceError: moment is not defined。
我的网页在 Chrome 和 Internet Explorer 中运行。
如果可能的话,我想避免更改网页,如果有任何关于如何完成这项工作的想法。
copy-protection - 如何保护电子项目中的源代码
我构建了我的第一个电子应用程序,但现在我想知道如何保护源代码以供其他开发人员查看。
官方文档说:
为了保护您的应用程序的资源和源代码不被用户使用,您可以选择将您的应用程序打包到一个 asar 存档中,而对您的源代码进行少量更改。
到目前为止,我能想到的最好的方法是将源代码丑化并将其打包成一个asar文件,但asar文件只是一个存档,可以轻松提取。我不明白这如何使您的代码“不受用户影响”
有任何想法吗 ?
node.js - Socket.IO - 从客户端发送的消息在服务器和客户端上失败
我正在开发一个使用 Socket.IO 从服务器连接到客户端的实时数据通信平台。服务器运行 Node.JS,客户端是使用 Atom 的Electron的网页形式的桌面应用程序。
我在客户端上接收消息非常好,但是当我尝试通过以下格式发送消息时:
服务器触发错误处理程序:
我在我的日志中看到:
在发送消息时,在客户端调试 Socket.IO 会在日志中显示这一点:
为什么会发生这种情况的任何线索?
编辑:
客户端和服务器都运行 Socket.IO 版本 1.3.5。
此外,尝试使用 console.log 记录错误对象会导致控制台中出现以下行:
我假设绑定到服务器上错误事件的函数并非旨在接受错误对象。
编辑:
服务器端,执行此代码以开始 Socket.IO 连接。
客户端,运行此代码:
编辑(再次):
其他消息可以成功发送和接收。
通过 web 检查器网络面板检查原始网络数据揭示了这一点:
node.js - 使用浏览器上下文 API 而不在电子中创建 BrowserWindow
我想知道是否有一种方法可以在不创建 BrowserWindow 的情况下访问电子中的浏览器上下文 API。这在某种程度上可行吗?