gpt4 book ai didi

javascript - 使用 Electron 和 Asar 打包应用程序

转载 作者:行者123 更新时间:2023-11-29 19:16:21 24 4
gpt4 key购买 nike

我遇到了这个奇怪的问题,我试图让网站离线工作(使用 Adapt 制作的 Electron 学习类(class)),所以我创建了 Electron App package 器:

main.js 创建 BrowserWindow 然后加载 index.html

function createWindow() {
// Create the browser window.
mainWindow = new BrowserWindow({
width: 800,
height: 600,
"min-width": 800,
"min-height": 530,
resize: true,
"use-content-size": true
});

// and load the index.html of the app.
mainWindow.loadURL('file://' + __dirname + '/index.html');

// Open the DevTools.
mainWindow.webContents.openDevTools();
// Set Window Resizable
mainWindow.isResizable(true);

// Emitted when the window is closed.
mainWindow.on('closed', function () {
// Dereference the window object, usually you would store windows
// in an array if your app supports multi windows, this is the time
// when you should delete the corresponding element.
mainWindow = null;
});
}

类(class)的启动器(托管 webview 标签)

<!DOCTYPE html>
<html>

<head>
<meta charset="UTF-8">
<title></title>
<style>
body {
margin: 0;
padding: 0;
background-color: #6e6e6e;
width: 100vw;
height: 100vh;
}

webview {
display: block;
width: 100%;
height: 100%;
}

</style>
</head>

<body>
<webview src="build/scorm_test_harness.html" disablewebsecurity></webview>
</body>

</html>

当我关闭开发人员工具面板时问题就开始了,完成后类(class)不再加载,当我取消注释 mainWindow.webContents.openDevTools(); 然后它再次工作,目前我正在使用这个解决方法:

// Open the DevTools.
mainWindow.webContents.openDevTools();
// Close (almost) immediately
setTimeout(function (webContents) {
webContents.closeDevTools();
}, 100, mainWindow.webContents);

它有效,但它是一个丑陋的补丁,有人对此有什么想法吗?

最佳答案

添加非空<script>head 中的某处标记.


解释:

如果页面上没有脚本,Chrome认为页面上没有动态内容并且不创建脚本上下文,这禁止 electron要注入(inject)页面的核心脚本,该脚本负责 webview标记处理(在 electron github repo 上有关于此错误的问题报告,但 electron 的开发人员表示,这是预期的行为(在 Chrome 核心中),显然,not a bug, but a feature xD)。


这是相关问题 link .

关于javascript - 使用 Electron 和 Asar 打包应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35062073/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com