Приложение для упаковки с электроном и азаром
У меня странная проблема, я пытаюсь заставить веб-сайт работать в автономном режиме (курс электронного обучения, созданный с помощью Adapt), поэтому я создал оболочку приложения Electron:
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;
});
}
средство запуска курса (на котором размещен тег 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>
и проблема начинается, когда я выключаю панель инструментов разработчика, после завершения курс больше не загружается, когда я раскомментирую mainWindow.webContents.openDevTools();
тогда это работает снова, в настоящее время я использую этот обходной путь:
// Open the DevTools.
mainWindow.webContents.openDevTools();
// Close (almost) immediately
setTimeout(function (webContents) {
webContents.closeDevTools();
}, 100, mainWindow.webContents);
и это работает, но это ужасный патч, есть какие-нибудь мысли по этому поводу?
1 ответ
Добавить не пустой <script>
тег где-то в head
,
Объяснение:
Если на странице нет сценариев, Chrome
считает, что на странице нет динамического содержимого, и не создает сценарий, который запрещает electron
основные сценарии, которые должны быть введены в страницу, и что сценарии ответственны за webview
Обработка тегов (есть сообщения об этой ошибке на GitHub Repo, но разработчики E-mail заявили, что это предполагаемое поведение (в ядре Chrome), по-видимому,not a bug, but a feature
XD).
Вот связанная ссылка проблема.