在标准浏览器中,加载新url将重置javascript上下文。即,所有全局变量、编译函数和事件都将被清除,浏览器将重新启动
但是,在atom shell中,调用mainWindow.loadUrl将加载新的html文件,但它将保持javascript上下文的活动状态。所以我需要删除的变量会一直存在。我如何告诉atom shell清除渲染器端的整个javascript上下文?检查BrowserWindow.reload()或WebContent.reload()
如果您在“渲染器”端,则可以使用r
这是电子桌面应用程序。通过gulp使用此软件包创建windows installer时,我收到以下错误消息
gulp创建windows安装程序
使用gulpfile D:\bala\electron\poc\installer\app4\gulpfile.js
正在启动“创建windows安装程序”。。。
4.49秒后出现“创建windows安装程序”错误
错误:命令失败:D:\bala\electron\poc\installer\app4\node\u module
es\electron
我正在用Electron开发一个应用程序。使用win.loadFile('index.html')过去是有效的,但从昨天开始,它会抛出一个错误,说:win.loadFile不是一个函数
可能是“Knex.js”导致了这个错误吗?因为我最近安装了它,然后问题就开始出现了。另外,我注意到电子图标从透明变成了浅蓝色(绿色)的圆圈
此外,使用loadURL可以工作,但它会不完整地呈现html文件
这是我的main.js(我从main.js中删除了knex.js代码,但没有帮助):
检查你的电子版本。要运
我不熟悉电子结构
我有一个问题,我需要在哪里为我的mac和Windows应用程序部署新版本
我是否需要在某些应用商店上发布我的应用程序
我正在开发一个ToDo应用程序,我已经为该应用程序创建了.exe,现在我想对该应用程序进行一些更改,并让该应用程序自动更新,为此我需要上传我的应用程序?你应该参考Thank@MayankVadiya我正在浏览此链接
我很难让electron应用程序在Windows上自动更新。该应用程序本身在Win和macOS上都能正常运行,但electron builder提供的应用程序仅在macOS上运行。更新通知在两个操作系统上都被正确触发,日志表明,甚至Win应用程序也意识到更新可用并开始下载。然而,下载似乎从未完成,或者从未与应用程序通信
问题的一个可能原因可能是代码签名:在macOS上,我使用的是带有苹果开发人员帐户的CS,自动更新可以正常工作。一个适合Win的CS证书似乎更昂贵,甚至不需要使用自动更新-但这就是
我是electron js的新手,我创建了一个打开whatsapp web的简单应用程序
首先,它工作得很好,但我当时没有铬。然后我使用electron forge,所以我用相同的代码创建了一个新的应用程序,这次我使用了chromium
但产出各不相同
代码的链接在这里=>
运行electron应用程序需要chrome还是chrome可以
我是初学者,请帮助我解决此问题您需要更改用户代理
用户代理只是一个字符串,Whatsapp使用它来检测您来自哪个操作系统和浏览器。当前,用户代理如下所示:
我正在基于Mac的设备上开发一个小而简单的应用程序,并安装了Electron Forge CLI,我正在运行make命令,然后运行package命令,该命令现在导出到一个Zip,但Raspberry Pi Zero(运行Raspbian操作系统)似乎无法识别,我不知道为什么
我尝试将linux作为平台传递到我的配置中,但这也无法生成:
我的配置:
"config": {
"forge": {
"packagerConfig&q
标签: Electron
electron-builderelectron-packager
我正在写一个电子应用程序。由于某些依赖关系,Windows版本只能在Windows计算机上构建,而macOS版本只能在macOS计算机上构建
这意味着,在我的CI中,每个平台有2个构建步骤。现在如何将这两个包发布到GitHub
就文档所述,electron builder命令包含一个--publish命令,但我还必须通过--mac或--win。但是正如我刚才提到的,我已经构建了包,因此我只想发布文件
有人能解释一下吗
标签: Electron
publishingelectron-builderelectron-packager
我正在尝试发布我的Electron应用程序,因此,我将publish添加到package.json中,现在它看起来如下所示:
{
"devDependencies": {
"electron": "^1.7.4",
"electron-builder": "^11.5.1"
},
"dependencies": {
"electron-publisher-s3": "^19.16.0"
},
"build": {
"appId": "tech.
给出了一个在电子方面的应用。文件夹结构类似于:
App
- assets
-models
- exe files
index.html
main.js
在按照站点的建议执行构建时,输入以下命令:
electron-packager . --overwrite --asar=true --platform=win32 --arch=ia32 --icon=assets/icons/win/icon.ico --prune=true --out=release-builds
在加载我的电子应用程序时,我偶尔(30次中有1次)在Chrome开发工具中遇到net::ERR\u CACHE\u READ\u FAILURE。我无法找到错误的原因,也无法始终如一地重现它。以前是否有人遇到过此问题?如果您运行应用程序的多个实例,第一个实例可能会锁定缓存,这将阻止另一个实例读取缓存
看看Github问题:
您不应该同时运行同一应用程序的多个实例,因为某些操作应用了全局锁。在您的情况下,缓存数据库被一个实例锁定,而所有其他实例将无法读取缓存
如果适合您,您可以使用API阻止应用程
我尝试使用。
我在index.js中有代码:
const { webContents } = require('electron')
webContents.on('found-in-page', (event, result) => {
if (result.finalUpdate) webContents.stopFindInPage('clearSelection')
})
const requestId = webContents.findInPage('
workbox.js没有在Electron中缓存任何内容
我正在尝试使用workbox.js服务工作者将PWA集成到Electron中
在Chrome上一切正常,我的服务人员能够在Electron上成功注册。但是,Electron应用程序缓存中没有缓存任何内容
我的期望是Workbox.js会像在Chrome中一样缓存请求
我们的节点插件分别在另一个过程中(但从Electron内部调用)创建一个带有SDL的新窗口,该窗口尝试通过SDL\u window\u ALLOW\u HIGHDPI启用DPI
我们没有使用新浏览器窗口,并期望Chrome在这种情况下调整大小
在以下情况下不起作用:
通过电子运行。
在打包的.dmg之后运行
Info.plistHigh Resolution Capable中的键设置为YES——electron似乎会自动生成默认的Info.plist。(我们没有自行设置任何内容)也没有设置-
我使用electron构建了一个桌面应用程序,并使用electron packager,然后使用wix创建了一个MSI安装程序
它在Windows10中运行良好
现在说到Windows7,一些奇怪的事情发生了
它在Windows7中安装并运行良好,但显示白色屏幕。在windows 7中,当我将鼠标悬停在桌面应用程序元素上或单击这些元素时,我发现index.html页面已加载,元素也已存在。但是这个白色的屏幕不知何故隐藏了html
请让我知道,如果有人知道这个解决方案
我正在使用electron制作一个桌面应用程序,并希望在该应用程序内建立语音聊天,我知道WebRTC是解决这一问题的主要解决方案,在我的研究中,我读到了关于分配、昏迷和关闭服务器的内容。但我真正的问题是,如果我有一个使用Electron的客户机,我可以让应用程序将流式语音从麦克风发送到服务器(Elixir、python或Node),而服务器只向房间里的每个人广播吗?或者只是需要信号,打晕然后转身
如果有人给了我一个可以让我了解解决方案的提示,我真的很感激
谢谢
我有一个函数,它试图用以下路径加载一个.ejs文件
function PaintNewOpponent() {
ejs.renderFile('views/NewOpponent.ejs', {pPlayer:pPlayerLocal}, function(err, str) {
$("#AddPlayerDialog").html(str);
alert(err)
RenderEvents();
FillInModalinformatio
我正在使用Elm 0.19.1构建桌面应用程序的界面,而桌面应用程序又基于Electron
但是,在Elm的调试模式下,我无法打开调试器。这是应用程序窗口控制台中显示的内容:
未捕获类型错误:无法设置未定义的属性“title”
这是由Elm生成的JavaScript代码触发的:
var doc=debuggerWindow.document;
doc.title='Elm调试器';
显然,debugger窗口对象内部没有document属性,这可能是因为Electron应用程序中的每个窗口都在
我想创建一个隐藏窗口,以便访问它的indexeddb并执行其他后台操作
这是我的worker.html
纸箱
后端
我正在开发一个electron应用程序,其中我必须在记事本中向用户显示许可证文件。是否可以使用electron向用户显示*.txt文件?HTML:
<button onclick="open_txt()">Show file</button>
虽然这段代码可以回答这个问题,但提供关于它如何和/或为什么解决问题的附加上下文将提高答案的长期价值。
var app = require('electron').remote;
function open_txt(){
ap
我在Mac OS上使用Windows的builind Electron应用程序时遇到问题。昨天我能做到,今天不行。我有一个错误:
使用electron v1.6.1为平台win32 ia32打包应用程序
在您的系统上找不到“wine”。
我安装了Wine,还安装了CrossOver。与昨天不同的是,我安装了Android Studio、NativeScript和新版本的JavaSE
使用渲染的2d或webgl画布可能具有一些有趣的性能优势。我想知道是否有办法在最新版本中启用它
在此线程中讨论的设置experimentalFeatures标志无效
以下控制台日志:
console.log('canvasNode', canvasNode)
console.log('transferControlToOffscreen', canvasNode.transferControlToOffscreen)
console.log('OffscreenCanvas', window.O
我有一个关于Electronjs的客户管理项目。我正在使用photonkit。用户界面示例如下所示:
现在,我如何在其他html文件之间导航而不刷新整个页面(作为SPA)
注意:我可能会使用jQuery,但我不想使用JS框架,如Angular等。只要使用react-and-react路由器,jQuery会让你的生活变得更复杂……那么,react最适合Electron吗?只要使用react-and-react路由器,jQuery会让你的生活变得更复杂……所以,它是最适合电子的反应吗?
标签: Electron
multi-windowelectron-window
是否有任何方法可以从子窗口访问父窗口的窗口对象。我想用一个远程连接将父窗口中的内容复制到所有窗口的子窗口。在创建子窗口时,是否在BrowserWindow类上设置了parent属性?是。是的。但是我没有找到一种方法来访问克隆父窗口。应用程序本身与正在实时更新的远程API连接。我想克隆应用程序窗口而不建立多个连接。
我有一个名为LoggerService.js的通用模块,用于主处理器和渲染器处理器
但现在,我在模块中编写了一个函数,现在我不知道如何检查模块是否加载到主处理器或渲染器处理器中
{
log: function(message)=>{
if( main processor )
else
}
}
我想我必须为每个处理器编写单独的模块,例如(MainLogger.js和renderlogger.js)。
是这样吗?任何想法…在通用模块中,您可以
我正在试着启动一个音乐播放器。为此,我创建了一个json文件来描述歌曲所在的路径。还有我的歌曲数量和作者
{
"songs":[
{
"author": "Guns and Roses",
"name": "Welcome to the Jungle",
"url": ".
我正试图通过命令行(Electron.)将参数传递给已经运行的Electron应用程序
应用程序配置为使用app.makeSingleInstance仅允许单个实例。理想情况下,应用程序将接收参数,然后处理它们,而不是启动新实例
我可以像这样轻松地将参数传递到我的应用程序中:
electron . --arg1 --arg2
但是,我不知道如何将它们传递到已经运行的Electron实例中
我知道我可以将应用程序打包成一个.exe文件,并以这种方式对其进行测试,但是每次需要进行测试时都要打包是很
我需要通过onclick从electron主菜单访问渲染器脚本。我在electron主菜单中添加了以下内容:
{
label: 'Checking for Update',
click: function () {
require('./update')
}
}
.........................
{
label: `Preferences...`,
click: function ()
我们有一个Electron应用程序,它为自定义协议注册自身:
app.setAsDefaultProtocolClient(customUrlProtocol)
这很有效。但是,当有人卸载应用程序时,是否有方法删除此项?需要同时适用于Mac和Windows对于Windows,您可以在中使用卸载事件。但不确定Mac。对于windows,您可以在中使用卸载事件。不过,我对苹果电脑不太清楚。
如果我的electron应用程序打开和关闭了许多浏览器窗口s,是否保证每个浏览器都有一个唯一的id
因此,在我的应用程序的一次运行中,如果我打开一个BrowserWindow并关闭它,然后打开一个新的BrowserWindow:新的BrowserWindow是否有可能与我关闭的窗口具有相同的id?根据当前源代码(1.8.4版本或2.0.0-beta.5),您可以期望每个实例具有唯一的id
在本机端,BrowserWindow实现继承自实际处理ID的TrackableObjectwin.idAPI
我正在寻找一种在Electron JS中嵌入Google Data studio的方法
我从DataStudio复制了嵌入代码,并将其粘贴到Electron应用程序的主体中
应用程序正常运行,但渲染器窗口中有一个消息:
“无法访问报告
您的当前帐户无法访问此报表,或者该报表不存在。“
我已经将相同的代码添加到一个简单HTML的主体中,并在VisualStudio代码中运行live server,它工作正常(图形可以从DataStudio中看到)
它需要某种形式的电子特殊连接吗
我使用的是Electron React样板文件,我想从我的React组件文件中获取应用程序名
我试过这个
import {app} from 'electron'
const name = app.getName()
但是我得到了错误
模块“/app/containers/Root.tsx”的热更新失败。最后处理的文件:“./app/components/Modal/Text.tsx”
我猜电子不能从“渲染器”访问?访问此数据的最佳方式是什么?TLDR:向主进程发送消息,并让它发回包含应用程
我正在使用Electron 8,并通过向api发出请求来进行internet连接检查。每10秒进行一次连接检查。
如果状态为true,我们将加载外部内容,否则将显示本地文件。当应用程序运行更长的时间(可能是15到20小时)时,请求失败,出现错误。而且,问题并不是发生在所有机器上,只是发生在某些机器上。该应用程序正在windows 10中运行。最后,我找到了根本原因。问题是缓存。在完全禁用缓存后,问题得到修复常数{app}=require(“电子”);app.commandLine.appendS
目前,我正在尝试使用window.open从渲染器进程打开外部URL。为此,我在创建新的浏览器窗口时设置nodeIntegration和nativeWindowOpen为true。如果我使用至少8.x版本的electron,它会工作,但electron 7.x会崩溃
我在下面有一个代码示例:
package.json
{
"name": "window-open-app",
"version": "1.0.0"
我正在一个电子应用程序上测试worker_线程。我目前使用的是11.0.2版
代码很简单,正在运行并返回示例数据,但我似乎无法进入代码
主要流程:
import { Worker, isMainThread, workerData } from 'worker_threads';
config.ipcMain.on('entries:search', (evt: any, opts: any) => {
if (isMainThread) {
const p
Electron使用main.js作为应用程序的起点。但是,如果该文件包含处理主进程事件的所有代码,则该文件太长且难以维护。我可以拆分main.js文件吗?我该怎么做?您可以将代码拆分为CommonJS模块,这些模块在中有详细描述。您可以将代码拆分为CommonJS模块,这些模块在中有详细描述。最后,我达到了我的期望。首先,我使用require()方法在main.js导入了我的模块。其次,我使用ipcMain和ipcdrender来创建主进程和渲染进程之间的通信通道
我的模块独立于main.js
在我的OSX Electron应用程序中,我有一个托盘图标,我想在打开和关闭Electron应用程序窗口之间切换。与单击OSX Dropbox托盘图标将打开和关闭Dropbox托盘菜单的方式类似,无论您单击托盘图标的速度有多快
以下是我正在使用的代码:
tray.on('click', function(e){
if (mainWindow.isVisible()) {
mainWindow.hide()
} else {
mainWindow.sho
我正在尝试在windows 10上安装electron,但不起作用。
我的环境是Windows10,x64,16gb内存。
我已经安装了nodeJS和npm的更新版本
我的应用程序根文件夹目录是c:\nodeP\app1
我试着在cmd上执行命令
光盘\
cd节点
cd app1
npm初始化
npm安装电子预构建--保存开发
npm启动
main.js文件
var app = require('app');
var BrowserWindow = require('browser-window
标签: Electron
electron-builderwebcrypto-api
我正在尝试在electron中使用节点WebCryptoOSSL,它需要openssl libs和包含在binding.gyp中的include文件夹
我试着把它包括在目标中
targets": [
{
"include_dirs": [
"<!(node -e \"require('nan')\")",
"<(openssl_dir)/include",
"/path/to/homebr
我需要一个多窗口应用程序来共享媒体流。有什么办法吗?在nw.js中,我可以创建一个概念证明,在一个窗口中创建的媒体流可以在另一个窗口中播放,但在Electron中,我似乎无法做到这一点。我说的对吗?您应该能够使用ipc模块通过主进程发送事件,并在windows中为它们添加侦听器,从而在windows之间进行通信。我确信,使用WebRTC可以将音频/视频从媒体流传输到另一个窗口进程。在那里,这样做了,基于库,它实际上使过程非常简单
遗憾的是,如果你采用这种方法,WebRTC会用有损压缩来压缩你的音
我正在尝试在electron应用程序中使用,但在应用程序窗口中,我在chrome控制台中遇到以下错误:
Uncaught TypeError: Cannot read property '_handle' of undefined
at file:///[...]/assets/js/bundle.js:38727:15
at Array.forEach (native)
at module.exports (file:///[...]/assets/js/bundle.
每当我尝试运行我的应用程序时,都会出现以下错误:
Mypackage.json:
{
"name": "SteamCMD-GUI",
"productName": "SteamCMD GUI",
"version": "0.0.1",
"main": "main.js",
"author": "avi12",
"scripts": {
"start": "electron .",
"package": "asar pack \"SteamCMD GUI-
标签: Electron
codesignelectron-builderelectron-packagerosx-gatekeeper
我正在尝试签署股票电子应用程序。下面是我正在使用的脚本。问题是gatekeeper抱怨应用程序(“Electron”)无法打开,因为无法确认开发人员的身份。为什么呢
#!/bin/bash
set -e
identity="76BC42C9D40AFBAE569D5B041940B97C4BEB0DFC"
rm -rf dist
mkdir -p dist/electron
wget -q -O dist/electron/electron.zip "https://github.com/ele
electron builder版本:20.28.4
electron更新程序版本:3.1.2
OSx、Windows和Ubuntu的构建
我正在尝试创建一个带有自动更新机制的电子应用程序。我面临着自动更新程序的问题,特别是对于OSx。它在linux和windows上运行得非常好(新版本是通过autoUpdater.quitAndInstall()下载并安装的;或者当用户退出应用程序时)。然而,在OSx上,新版本可以下载,但从未安装
下载更新时触发的事件如下所示,因此我确信更新确实已下载:
au
在我的情况下,从后端服务器同步过程完成后,应用程序将按照以下代码退出
app.quit();
但在此之后,我需要通过手动单击(.exe)再次运行应用程序。现在我正在寻找解决方案,可以启动应用程序自动退出后的应用程序 应用程序重新启动();
app.exit()
这将重新启动你的应用程序。app.relaunch();
app.exit()
这将重新启动你的应用程序。我通过如下更改代码解决了这个问题
ipcMain.on("exit-app", event => {
if (
我的理解是,将nodeIntegration设置为false将阻止对渲染器进程中节点模块的访问。但是我能够执行require('path'),尽管nodeIntegration设置为false
我的理解不对吗
如果我的理解是正确的,但是path给出了一个异常,我想知道是否有其他模块给出了相同的异常
这是我的浏览器窗口选项
mainWindow = new BrowserWindow({
webPreferences: {
// The below configuratio
我有一个电子应用程序,它利用了puppeter额外插件隐身库
然而,这个库里面有一个chrome.app,我无法为macOS进行公证
/var/folders/z3/\u 825pg0s3jvf0hb\u q8kzmg5h0000gn/T/electron packager/darwin-x64/MyApp-darwin-x64/MyApp.app/Contents/Resources/app/node\u modules/puppeter-extra-plugin-隐身/evations/ch
electron.nativeTheme.themeSource='dark'
当切换到暗模式时,本机滚动条保持亮。是否需要另一个步骤使其显示为黑色
在下面的快照中,左侧显示我的浏览器窗口,右侧显示开发工具。开发工具有黑色的滚动条,所以支持就在那里
呃,这太复杂了。您需要做两件事:
使用向Chrome表明,您的页面在明暗模式下呈现时非常愉快。我认为这也将默认的用户代理样式表更改为黑暗模式下的黑暗模式。这看起来真是个愚蠢的设计
我只测试了meta标记,这可能是最好的选择:将它添加到您的:
chro
我需要在本地运行时以开发人员模式运行electron应用程序,在构建应用程序时以生产模式运行electron应用程序,并且我需要在应用程序期间读取此环境变量
我正在使用22.8.0版的electron builder来构建应用程序,electron在10.0.0版中
谢谢:)如果我理解你的问题,下面是我在开发时运行电子重新加载的方法。我想现在还有其他更好的方法,但这几年来对我来说效果非常好
在start脚本中定义变量:
"scripts": {
"sta
我在尝试从Cypress发射电子时遇到以下错误:
Error: ERR_FAILED (-2) loading 'http://localhost:4200/__/#/tests/integration/features/AssetDownload/assetDownload.feature'
at rejectAndCleanup (electron/js2c/browser_init.js:217:1457)
at Object.stopLoadingListener (el
上一页 1 2 3 4 5 6 ...
下一页 最后一页 共 31 页