为什么我的Electron应用程序在关闭渲染器窗口时退出?

我正在Windows上测试。 该应用程序在“就绪”上设置一个托盘菜单,并带有“关于”标签。单击时,将显示一个浏览器窗口: var aboutBox = new BrowserWindow({ width: 460, height: 176, useContentSize: true, icon: iconImg, maximizable: false, fullscreenable: false, resizable: false, minimi

';找不到有效的应用程序';使用electron packager生成electron应用程序时出错

使用npm start运行应用程序时,一切正常。但是,在使用electron packager构建我的应用程序并打开.exe文件后,会发生以下情况: “找不到有效的应用程序”,完整说明如下 我的packager.json文件是: { "name": "electron-roll-tool", "version": "1.0.0", "description": "A minimal Electron application", "main": "src/main.js",

ejs electron不使用electron forge

在我的electron forge应用程序中,运行在Windows 10上,ejs模板不会呈现,尽管没有可见的错误。 我可以使用创建的应用程序重现问题 electron-forge init ejs-test 我使用的是electron forge 5.2.2和ejs electron 2.03 这是我的index.js文件: import { app, BrowserWindow } from 'electron' import * as ejse from 'ejs-electron'

Electron 未捕获引用错误:未定义对话框

我试图在中创建一个按钮,打开一个对话框来打开一个文件。(在本例中,只需打印其名称) 这是我的index.html中的按钮: <div class="alse-element"> <input id="select-song" type="button" value="select song" onclick="select_song()"/> </div> 这是我的renderer.js: const { dialog } = require(

Electron “电子制造”;不允许加载本地资源“;但文件存在

我有一个普通的Electron应用程序,带有加载文件的浏览器窗口: win = new BrowserWindow(...); win.loadURL(url.format({ pathname: path.resolve(__dirname, 'main.html'), protocol: "file:", slashes: true })); 我正在使用electron build打包应用程序。大多数情况下,这很好用。但有时,当我为Mac和Windows构建它时,B

Electron应用程序mac应用程序商店要求(沙箱?)

将应用程序沙盒化是绝对要求吗?您是否可以在没有此权限的情况下将应用上载到App Store 我的应用程序在没有“com.apple.security.app sandbox”授权的情况下运行得非常好,但添加它会破坏一切。应用程序立即崩溃,我得到了“EXC_BAD_ACCESS(代码签名无效)”错误 如果必须的话,有没有关于如何使“沙盒”与electron一起工作的好教程?我试着用谷歌搜索它,但似乎有很多不同的指南和建议。我不知道该听哪个 我正在使用electron builder 21.2.0(

Electron 电子-不能在工作线程内使用傀儡机

我想在我的电子应用程序中使用Puppeter inside worker线程。构建包时,我使用外部文件将工作代码复制到Resources/bin。但不幸的是,它在运行后抛出异常:“找不到模组木偶演员”。我已经尝试过的: 正常导入木偶师: 在app.asar.unpack中导入木偶演员: 在app.asar中导入木偶演员: 以下是重现我案例的回购协议: 您能帮我吗?您需要将所有与puppetter相关的DEP复制到asar。解包: 您需要将所有与puppetter相关的DEP复制到as

Electron 从电子菜单发射主到主事件

我在主进程中有一个“选择当前项目”的侦听器。从渲染器进程触发时,它可以正常工作,但如何从菜单中发出相同的事件 菜单是在默认的createWindow()中创建的 我的事件处理程序 我不确定我是否理解您所描述的问题,但我所做的是: 函数showProjectPicker存在于main.js中,由如下所示的菜单操作调用。如果我想从渲染器进程调用它,我会通过IPC发送一条消息 { label: 'File', submenu: [ { label: 'Open Project...

Electron builder失败:否';对象';生成的文件

自从升级到electron 10.1.2以来,我对electron builder有一个问题。我的构建现在在重建键盘布局时失败。重建仅在Windows而不是Mac上失败。我不知道从哪里开始这个问题,所以我在这里问:) 我的设置: 角度:9.0.7 电子:10.1.2 电子生成器:22.8.x 当我将electron从9.0.0更新到10.1.2时,问题就开始了。其他一切都没有改变 问题: 使用命令调用electron-builder.cmd--x64-p always-w重建键盘布局时被

在electronjs中查找应用程序目录

我是新来的electronjs我想获得任何应用程序的路径,例如名为iMacros的用户安装应用程序我需要找到该软件的安装位置 我选中了app.getPath(),它对我不起作用,因为它只支持几个目录,例如下载、用户数据等 请让我知道如何在electronJs中找到任何软件或应用程序安装目录对不起,您无法知道任何软件或应用程序安装目录,您应该从应用程序的文档、搜索软件文件。。。获取安装目录所需的任何操作 由于并非所有应用程序的安装目录都是固定的,因此它们可以是多个文件夹,与操作系统不同,某些应用程

Electron 哪里是电子';s app.getAppPath()指向?

我正在使用browserify将我的应用程序的所有.js文件合并到一个dist/main.js。我的package.json看起来像: "main": "./dist/main.js", "scripts": { "start": "electron ./dist/main.js", }, "bin": { "electron": "./node_modules/.bin/electron" } 我可以使用npm run start正确运行我的应用程序。 但是,如果在main.js

如何创建松弛';s加载屏幕-ElectronJS

有人知道如何用Electronj创建一个单独的加载屏幕,就像Slack用他们的一样吗 我不明白。你想要网页的HTML和CSS吗?或者你需要如何用电子来表达?因为在第二种情况下,您只需在应用程序开始时创建一个浏览器窗口,其中包含加载程序的HTML代码。当你知道你的应用程序已经准备好了,关闭浏览器窗口或加载新的URL…第二个,这是有意义的。我不知道这是electron内部的一个选项,还是一个单独的浏览器窗口。通过一个单独的浏览器窗口,我可以从主窗口(已关闭)继续加载资源?您可以根据需要进行管理:)您

Electron 为多操作系统打包大型电子应用程序

我对Electron是新手,但对NW.JS有经验。在NW.JS中,我将我的项目捆绑为: |> Project Root |-----> Linux NW.JS Directory |-----> Windows NW.JS Directory |-----> Application Directory 启动应用程序时,我有一个程序检测操作系统,然后按此方式启动(psuedo): 应用程序是巨大的。。。所以我只想要一个应用程序目录。我不希望每个操作系统都有一个。从逻辑上讲

Electron:初始化前无法访问对话框

我有一个渲染器文件,它的唯一目的是打开一个对话框从中选择文件。我试过多次重写这个,每次都会出现不同的错误。我做错了什么 确切代码: const { ipcRenderer, shell, remote } = require('electron') const dialog = remote.dialog; function openFileBrowser() { dialog.showOpenDialog(remote.getCurrentWindow(), { p

Electronjs:require always Trows ReferenceError无法在初始化之前访问

我有一个很奇怪的问题。我在学习electron,在我尝试创建一个对话框来显示项目中的另一个站点之前,一切都很好 在main.js中,我的代码与electron first应用程序教程中的代码完全相同: const {app, BrowserWindow} = require('electron') let win; function createWindow() { win = new BrowserWindow({ width: 800, heigh

如何为linux打包electron应用程序?

我已经使用electron制作桌面应用程序有一段时间了,但仍然不知道如何为所有可用的linux发行版打包它。对于所有的linux发行版,我不知道。我制作Linux Electron项目的方式就是 npm install --save-dev electron-builder 将其添加到my package.json的根目录中 "build": { "appId": "com.myname.appname", &qu

Electron 无法读取属性';要求';未定义的

我正在创建一个使用mysql的应用程序。我想从main.js文件调用一个函数。这个main.js文件是主应用程序文件,就像文档一样。我看到了一个如何调用此函数的示例: const { remote } = require('electron'); const main = remote.require('./main'); main.saveUser(); 但它给出了以下错误: Uncaught TypeError: Cannot read property 'require' of unde

有没有办法将electron应用程序注册到windows路径?

我正在通过electron-builder构建并尝试打包。Linux上的electron builder生成的deb安装成功地在系统路径上注册了应用程序,我可以像vscode的codeCLI一样通过CLI打开应用程序 但是,当我在Windows上尝试此操作时,应用程序路径未在路径上注册,因此无法通过CLI调用我的应用程序 因此,我想知道是否有任何方法可以使用electron builder将electron app exe文件注册到windows路径,以便通过CLI调用我的应用程序 下面是我的p

Electron 路由器在电子应用程序中有意义吗?

只是想知道电子应用程序是否需要路由器 由于应用程序的URL没有在Electron应用程序上显示/公开,因此我认为不需要路由器。特别是因为您无法访问“重新加载”按钮 你对这件事有什么想法?好吧,你可以重新载入、回顾和前进,甚至是关于电子的干净历史。路由也许可以帮助你像网页一样组织你的工作 var electron = require('electron'); var window = electron.remote.getCurrentWindow(); window.reload(); wind

Electron Framework-类型错误:无法读取属性';执行官';未定义的

我是Electron Framework的新手,我正在试用一个应用程序,在这个应用程序中,我需要在我的应用程序中单击菜单项启动一个特定的软件(例如firefox) 现在我正在尝试在Windows平台(使用Windows 7)上构建该应用程序 用例 -带有静态内容的主页 -应用程序菜单位于顶部,菜单项为“启动我的软件” -单击此菜单项后,我想启动安装在我的系统上的软件(我知道exe文件的路径) 创建和启动项目的步骤 npminit(输入项目的详细信息并创建package.json) npm安装el

Electron Nedb findOne返回空值?

我正在使用findOne调用一个简单查询,到目前为止,users.db中的数据是: {"id":40, "is_admin":1,"name":"John Smith"}, {"id":43, "is_admin":1,"name":"Laura Smith"} // Users var users = new Datastore({ filename: 'db/users.db' }); var id_user = 43; console.log("------------

Electron 电子锻造失败

我使用electron forge对应用程序进行打包时出现了一些故障,比如下面的一个,我不知道是什么原因导致了这些故障: 电子锻造制造 ✔ 检查您的系统 ✔ 解析Forge配置 我们需要先打包你的申请,然后才能申请 ✔ 正在准备打包arch:x64的应用程序 ⠹ 编译应用程序未能编译文件:/var/folders/ld/v4nwzxnj7rq41\u f08r5\u clgw0000gn/T/electron packager/darwin-x64/flow-darwin-x64/electr

Electron 如何通过Thread和webpack dev服务器获取任意命令行参数?

我正在构建一个基于电子的命令行工具。用户将从命令行调用它,然后它将打开一个普通的Electron窗口(这就是为什么我要使用Electron&webpack,而不是使用更简单的东西,如nexe),受他们通过CLI输入的内容的影响。我正在使用webpack dev server v2.4.5开发电子用户界面 我有一个npm脚本,dev,它使用所有必要的构建选项调用webpack dev服务器。不幸的是,当我在命令提示符下添加我自己的参数时,有些东西正在使用它们,而它们并没有进入我的电子应用程序 我的

在不同端口上运行Electron UI

有没有办法在不同的端口上运行Electron应用程序的UI?我有一个应用服务器(Wildfly)在端口8080上运行,当我启动Electron应用程序时,Electron应用程序窗口中会显示应用服务器默认页面。我相信电子在后台的8080端口上运行。是否有办法将其更改为端口9000?Electron应用程序基本上是一款支持NodeJS的Chromium浏览器,可从磁盘加载任何您想要显示的文件。它不会启动任何服务器(HTTP或其他任何东西) “默认应用程序页面”我相信你指的是。例如,使用Electr

Electron 我能';不要在电子应用程序中放置任何图像,背景图像不会';img scr不工作';不行,我能做什么?很奇怪

我不能在electron应用程序中放置任何图像,背景图像不工作,img scr不工作,canvas.drawImage不工作,我可以做什么? 明显的代码: <img src="file://bg.jpg" width="50px" height="50px"> ... body{ background-image: url('file:///bg.jpg') 50px 50px repeat; } ... 正文{背景图像:url('file:///bg.jpg')50px 50

如何在electron js桌面应用程序中播放受DRM保护的视频

我嵌入了Iframe,其源包含视频url。 但是 我得到一个错误: 错误:(代码:5媒体错误加密)功能策略已禁用requestMediaKeySystemAccess 有时我会 代码:6001,键入:“请求的密钥系统配置不可用”,标题:“DRM:请求的密钥系统配置不可用”,消息:“}”

Electron 电子全局快捷方式查找浏览器实例

嗨,伙计们,我在用e 我想覆盖浏览器窗口的默认快捷键“CTRL+W”,因为我有一些类似弹出窗口的快捷键 我遇到的问题是,当我像这样定义全局快捷方式时: globalShortcut.register('CommandOrControl+W', () => { console.log('CommandOrControl+W is pressed') }) 如何获取它是什么浏览器实例?如何获得正确浏览器窗口的引用当您创建浏览器窗口时,您是这样做的 const window =

Electron 浏览器窗口图标关闭

我正在使用一个浏览器窗口图标,如下所示: const nativeImage=require('electron')。nativeImage; 让image=nativeImage.createFromPath(uu dirname+'/public/img/1x.png'); image.setTemplateImage(true); settingsWindow=新浏览器窗口({ 身高:768, 宽度:1024, 可全屏显示:false, 可调整大小:false, icon:image,//

Aurelia:使用es6导入进行electron+;打字稿

我有一个运行在electron中的aurelia应用程序。我的源文件是typescript,我有electron和node的环境文件 因为我知道我是为在electron上使用而编译的,所以我正在将我的打字脚本传输到es6并加载系统模块;这意味着我可以关闭system.js的transpiler。我使用system.js和jspm,因为这是Aurelia一直在推动的方法 因此,在我的ts文件中:我希望能够做到: import {remote} from 'electron'; 不幸的是,syst

无法通过package.json安装旧版本的Electron

,所以我不得不降低我的电子版本。但是,我发现我无法通过在package.json文件中提供版本号来安装旧版本的Electron。以下是我的配置: { "name": "Example", "version": "1.0.0", "description": "", "main": "./app/main.js", "scripts": { "postinstall": "install-app-deps", "start": "electron ." },

请参阅使用electron updater更新之前的发行说明

我正在尝试通过自动更新更新我的电子应用程序。我设法让它正常工作,而它检查更新、下载更新、安装更新并重新启动应用程序 但我真正想要的是,我可以检查是否有更新;如果有,请显示我最新的.yml文件中的发行说明,用户可以同意或取消更新。(见下面的屏幕截图) 当我输入update available事件时,我尝试检查releaseNote,但是第二个参数是“undefined” 除此之外,我也无法真正理解如何显示具有“是/否”按钮结构的可滚动文本对话框 现在,我已经制作了一个非常粗糙的messageBo

Electron 来自网络会议工具(Webex、GotoMeeting等)的getMediaStream干扰

当Webex和GotoMeeting等程序运行屏幕/应用程序捕获时,使用electron/chromium getMediaStream API会导致黑色捕获。你知道如何解决这个问题吗?没有办法解决这个问题(但是你可以捕获异常并显示正确的消息)。 这是因为在任何给定的时间点,只有应用程序才能使用此功能(就像网络摄像头访问)没有办法解决此问题(但您捕获异常并显示正确的消息)。 这是因为在任何给定的时间点,只有应用程序才能使用此功能(就像网络摄像头访问一样)

Electron 电子发射两次

我正在(第一次)使用Electron创建一个仅限Mac的应用程序。 我正在尝试使用IPC渲染器在我的应用程序菜单和主浏览器窗口中的内容之间进行通信 我将菜单设置如下,以发送信息“选择活动”: const {Menu} = require('electron') const electron = require('electron') const app = electron.app const BrowserWindow = electron.BrowserWindow const templ

在Electron React应用程序中包括引导

我有一个电子反应应用程序。我需要使用引导的样式。 早些时候,我使用了来自CDN的引导,它工作起来很有魅力。但我需要我的应用程序离线工作 所以我需要在我的应用程序中嵌入引导程序。我试着在本地下载bootstrap,然后在应用程序中使用它的css文件,但我碰巧看到,当我打包应用程序时,我找不到它 打包版本中的引导。我把CSS文件夹放在应用程序文件夹中。当我运行“npm run start”时,它起作用了,但当我打包应用程序时,它就不起作用了 <link rel="stylesheet" hre

Electron 电子铬版非常过时

我正在从NodeWebKit转移到electron,我发现HTML5内容的行为有些不同。所以我通过打印出process.versions检查了chrome版本,我得到: { http_parser: '2.7.0', node: '8.9.3', v8: '6.1.534.41', uv: '1.15.0', zlib: '1.2.11', ares: '1.10.1-DEV', modules: '57', nghttp2: '1.25.0', openssl:

Electron 7无法构建本机模块

我正在构建一个运行本机模块的电子应用程序。我升级到了Electron 7,但从那以后,我在使用Electron forge构建应用程序时遇到了以下错误 我还将我的节点版本升级到12.8.1 为了加载本机模块,我使用了一个节点ffi 我该如何解决这个问题 谢谢 An unhandled error has occurred inside Forge: gyp info it worked if it ends with ok gyp info using node-gyp@5.0.5 gyp in

Can';t使用Electron Builder将图标添加到Electron应用程序

我已经用Electron制作了一个应用程序,正在尝试用Electron Builder将其打包 链接到存储库 不包含节点\u模块文件夹: 我有一个名为build的文件夹,其中包含我的icon.ico和我的package.json,如下所示: { "name": "attendant", "productName": "Attendant", "version": "0.1.0", "description": "A simple app to streamline

Electron 我的spectron app.client没有';t包含所有的方法

我正在尝试使用spectron和mocha测试我的electron应用程序,下面是我的文件“first.js”,其中包含我的测试: const assert=require('assert'); const path=require('path'); const{Application}=require('spectron'); const electronPath=要求(‘电子’); 描述('GULP Tests',函数(){ 此。超时(30000) const app=新应用程序({ 路径

在使用Spectron测试electron应用程序期间,app.browserWindow返回TypeError

我正在尝试使用Spectron和mocha对我的电子应用程序进行简单的测试。但是,每当我尝试使用浏览器窗口API时,我都会得到以下形式的错误: TypeError:无法读取未定义的属性“…” 我在互联网上做了一些研究。我发现一些建议的解决方案是确保nodeIntegration设置为true,并且DevTools不会在应用程序窗口上打开。我已经确保满足这两个标准,但我仍然收到相同的错误。我错过了什么?我附上我的代码以供参考 main.js const {app, BrowserWindow} =

在electron builder中首次安装后使用一键式安装

是否有一种方法可以让相同的electron builder安装程序首先检查应用程序是否已安装。如果是,请使用一键安装选项,否则请使用完整的安装程序 在electron builder中,我们可以选择构建一键式安装程序或更标准的安装程序。目前,我们总是使用标准安装程序,因为我们更喜欢让用户决定在哪里安装我们的应用程序,以及是否为所有用户安装。完成后,对于更新,我们希望用户可以选择“重新安装”最新的软件。为此,one-clickinstall选项更有意义 注意:我在任何地方都找不到这个问题,但对我来

npm run make在electron forge中不起作用

我已经创建和电子应用程序,并试图使用电子锻造为建设目的。 请查找我为创建electron应用程序而运行的以下命令: #npm i -g create-react-app #npm i -g @electron-forge/cli #npx create-electron-app my-ele-app 上面的最后一个命令创建了一个项目my ele app。现在我也可以启动应用程序了。 #npm启动 package.json文件的内容是: { "name"

用于刷新的Electron framework窗口管理不起作用

我在electron中创建了一个程序,其中: 当我打开一个窗口中的按钮时,会向主窗口发送一个ipc,检查窗口是否存在并刷新窗口,但它不工作。 也许我遗漏了文档中的一些内容,但我没有找到任何关于如何检查窗口是否为null或未定义的内容(已经尝试检查窗口是否为null,其他窗口是否为none值)。 谢谢你的关注 我认为这是一个范围问题。请确保您的代码可以访问窗口变量。像这样的方法应该会奏效: var mywindow = null; //global def app.once("ready",

如何使用Electron two package.json结构设置babel 7配置文件?

我正在升级到巴别塔7。他们已经改变了配置文件的加载方式。 尽管我根据他们的文档做了很多尝试,但我还是无法让它工作 具有两个package.json结构的Electron应用程序解释如下: 问题是,似乎没有为第二个package.json所在的代码加载我的babel配置。(主渲染器) 我倾向于认为这是因为这种加载config和两个package.json的新方式,但也可能是其他原因 应用程序结构如下所示: /package.json /.babelrc (or babel.config.js n

Electron:如何在卸载时删除~/.config/Electron应用程序文件夹?

我开发了一个小的electron应用程序,并在我的~/.config/electron应用程序中存储了一些缓存文件。 现在,如果要卸载~/.config/electron应用程序,我需要删除该应用程序。是否有任何电子应用卸载事件可用 非常感谢 您的构建目标/目标平台是什么?对于不同的目标,答案可能不同。显然,我的平台是Linux(Ubuntu 16.04)。Ubuntu有多个可行的目标@GokulakannanT你有什么解决办法吗?我的目标是rpm和deb。@MANISHMOHAN的简短回答是否

Electron 如何判断邮件是来自主进程中的send还是sendSync?

在主进程中,ipcMain.on收到的消息来自send或sendSync ipcMain.on('eventName',(event,arg)=>{ 如果(/*???*/){ event.sender.send('AsyncEventName',arg) }否则{ event.returnValue=arg } }) 您只需将一个值传入send即可进行区分: ipcRenderer.send("eventName", myArg, true); ipcRenderer.sendSync("eve

web首选项在electron js中的含义是什么?为什么nodeIntegration设置为false默认值?

以下是我的电子Js文档: 它在那里给出 let win = new BrowserWindow({ width: 800, height: 600, webPreferences: { nodeIntegration: true } }) 但我找不到它的真正含义,因为它是在其他模块中使用node的,但由于electron使用铬和nodejs!为什么我们需要将其设置为false,我了解到这是关于安全的 我的问题是:- webPreference

如何在Electron Browser窗口中设置Interval()?

我有一个简单的电子应用程序,可以查询SQL数据库并通过HTML表显示输出。我的一切都正常工作,但现在我需要每隔X分钟“刷新”HTML表(使用SQL查询的新结果) 现在,我已经在HTML中直接使用meta标记使其正常工作:http equiv=“refresh”content=“300”。这正确刷新页面每5分钟,这正是我想要的 尽管如此,问题是在执行SQL查询和构建HTML时,刷新会导致屏幕变白。显然,更好的解决方案是使用DOM,只修改自上次刷新以来实际更改的单元格。我遇到的问题是让“设置间隔”正

Electron 如何根据屏幕分辨率调整应用程序的高度和宽度

我需要简化应用程序的电子显示,如果显示更小,应用程序将缩小其大小,例如笔记本电脑显示器或iMac等大尺寸显示器。如果应用程序在笔记本电脑上运行,则大小应小于应用程序的实际大小。我尝试了webPreferenceAPI中的ZoomFactor,但它没有像我预期的那样工作 任何帮助都将不胜感激,提前感谢。在创建浏览器窗口后您应该拨打maximize() 对于您的用例(如果我理解的话),可以使用-确定启动时屏幕的大小,然后适当调整窗口的大小 const { app, BrowserWindow, s

  1    2   3   4   5   6  ... 下一页 最后一页 共 13 页