问题标签 [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.

0 投票
1 回答
1968 浏览

javascript - 在 Electron 应用程序中捕获文件下载事件

我正在使用 Electron 围绕网页编写一个包装桌面应用程序。我正在使用<webview>控件来显示页面。请注意,如果我单击导致在普通浏览器中下载文件的链接(HTTP 响应具有Content-Disposition标头)在 Electron 中不会执行任何操作,这对我来说很好,因为我喜欢控制下载的文件会发生什么。该应用程序将在受限环境中运行。

似乎无法弄清楚我怎样才能捕捉到下载事件。当我单击链接时did-get-response-details会触发事件,但我无法访问任何响应数据(至少是标题),也没有声明 Electron 不会处理此链接,因此我可以做任何我想做的事情它是我自己的,就像使用 node.js API 获取它一样。

0 投票
3 回答
13537 浏览

cors - Atom Shell 中的跨域 Ajax 调用

我们正在使用 Atom Shell(目前称为electron)将 Web 应用程序包装为桌面应用程序,并且由于 CORS 限制而无法进行跨域 ajax 调用。

我们还尝试了 nw.js(以前称为 Node-Webkit),使用它进行跨域 ajax 调用没有问题。Atom Shell (Electron) 默认是否限制跨域调用?

0 投票
1 回答
5390 浏览

windows - 在 Electron 应用程序上处理 Squirrel 的事件

这些天来,我正在使用Electron为 Windows 构建一个小型原生应用程序,并且我正在使用Grunt Electron Installer为我的应用程序创建一个安装程序。

安装程序已成功创建,但我不知道如何在我的应用程序中处理 Squirrel 的事件,如文档中所述,我已将此添加到我的应用程序的入口点:

但是我不知道在这个 switch 语句中要做什么,例如,为我的应用程序创建快捷方式。实际上我什至不知道这个开关是否有效,因为当我安装(或卸载)我的应用程序时,它会启动并且永远不会退出。

任何帮助表示赞赏!

0 投票
1 回答
9678 浏览

electron - 在电子(atom-shell)中的 js 和 html 部分之间传递信息

根据教程,电子应用程序有两个部分 - 入口main.js文件和index.html.

  1. 我是否必须将main.js其作为脚本包含在 html 文件中
  2. 如何触发视图 html 文件中的事件以影响 js 应用程序的状态,反之亦然?他们俩基本是怎么交流的?
0 投票
3 回答
7181 浏览

node.js - 无法找到 electron-prebuilt 的版本号。- 尝试使用电子重建时

我正在尝试在电子(原子壳)中使用蓝牙串行端口本机模块。我做了以下。

  1. 安装了电子预建。

npm install electron-prebuilt -g npm install electron-prebuilt --save-dev

  1. 安装电子重建

npm install --save-dev electron-rebuild

  1. 安装蓝牙串口

npm install bluetooth-serial-port --msvs_version=2013

  1. 运行电子重建命令。

./node_modules/.bin/electron-rebuild

我收到以下错误。

找不到电子预建的版本号,要么安装它,要么指定一个明确的版本“

任何人都可以帮忙吗?

0 投票
3 回答
27416 浏览

javascript - 完全加载后显示窗口

当我创建基本应用程序并使用electron命令对其进行初始化时,它会显示一个空白窗口,稍后会加载内容。

内容完全加载后,应该使用哪个事件和哪个对象来显示窗口?

did-finish-load在一个window.webContent物体上?或者也许dom-ready?或者也许是别的什么?

应用程序.js

0 投票
3 回答
2179 浏览

momentjs - 在电子中加载网页

我正在尝试在电子应用程序中加载网页,这是我第一次尝试使用电子,所以我一点也不熟悉。该应用程序非常简单:

该页面正在使用 moment(它是对 moment.langData(...) 的调用失败),但收到错误消息:Uncaught ReferenceError: moment is not defined。

我的网页在 Chrome 和 Internet Explorer 中运行。

如果可能的话,我想避免更改网页,如果有任何关于如何完成这项工作的想法。

0 投票
2 回答
7357 浏览

copy-protection - 如何保护电子项目中的源代码

我构建了我的第一个电子应用程序,但现在我想知道如何保护源代码以供其他开发人员查看。

官方文档说:

为了保护您的应用程序的资源和源代码不被用户使用,您可以选择将您的应用程序打包到一个 asar 存档中,而对您的源代码进行少量更改。

到目前为止,我能想到的最好的方法是将源代码丑化并将其打包成一个asar文件,但asar文件只是一个存档,可以轻松提取。我不明白这如何使您的代码“不受用户影响”

有任何想法吗 ?

0 投票
0 回答
1366 浏览

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

我正在开发一个使用 Socket.IO 从服务器连接到客户端的实时数据通信平台。服务器运行 Node.JS,客户端是使用 Atom 的Electron的网页形式的桌面应用程序。

我在客户端上接收消息非常好,但是当我尝试通过以下格式发送消息时:

服务器触发错误处理程序:

我在我的日志中看到:

在发送消息时,在客户端调试 Socket.IO 会在日志中显示这一点:

为什么会发生这种情况的任何线索?

编辑:

客户端和服务器都运行 Socket.IO 版本 1.3.5。

此外,尝试使用 console.log 记录错误对象会导致控制台中出现以下行:

我假设绑定到服务器上错误事件的函数并非旨在接受错误对象。

编辑:

服务器端,执行此代码以开始 Socket.IO 连接。

客户端,运行此代码:

编辑(再次):

其他消息可以成功发送和接收。

通过 web 检查器网络面板检查原始网络数据揭示了这一点:

错误

0 投票
0 回答
190 浏览

node.js - 使用浏览器上下文 API 而不在电子中创建 BrowserWindow

我想知道是否有一种方法可以在不创建 BrowserWindow 的情况下访问电子中的浏览器上下文 API。这在某种程度上可行吗?