gpt4 book ai didi

javascript - Electron 窗口标题需要一些时间来加载(加载前显示项目名称)

转载 作者:行者123 更新时间:2023-11-29 18:42:34 24 4
gpt4 key购买 nike

当我使用 npm start 运行我的代码时,需要一些时间才能完全加载 main_window 的标题。这是演示它的 GIF:

wtf

这是我的代码:

const electron = require('electron')
const url = require('url')
const path = require('path')

const {app, BrowserWindow, Menu} = electron

let main_window

app.on('ready', function() {
main_window = new BrowserWindow({})
main_window.loadURL(url.format({
pathname: path.join(__dirname, 'main_window.html'),
protocol: 'file:',
slashes: true
}))

Menu.setApplicationMenu(null)
})

在加载我在 main_window.html 中指定的标题之前,它显示了我在 package.json 中指定的项目名称。我认为这两个文件的内容不相关,但无论如何它们都在这里:

main_window.html:

<!DOCTYPE html>
<html lang="en">
<head>
<title>7Watchlist Data Grabber</title>
</head>
<body>
<h1>Another Collection of Web Crawlers</h1>
</body>
</html>

package.json:

{
"name": "datagrabber",
"version": "1.0.0",
"description": "Another Collection of Web Crawlers",
"main": "main.js",
"scripts": {
"start": "electron ."
},
"repository": {
"type": "git",
"url": "git+https://github.com/amirashabani/DataGrabber.git"
},
"author": "Amir A. Shabani",
"license": "MIT",
"bugs": {
"url": "https://github.com/amirashabani/DataGrabber/issues"
},
"homepage": "https://github.com/amirashabani/DataGrabber#readme",
"dependencies": {
"electron": "^5.0.0"
}
}

这是我必须接受的东西吗?我认为这不是正常行为。

Edit1:将 sandbox 设置为 true 或使用 npm start --no-proxy-resolver 运行应用程序(如 @Mr. Polywhirl 所建议) ) 似乎没有什么区别:

sandbox and --no-proxy-resolver

最佳答案

Is it something I have to accept? I don't think this is normal behavior.

这是正常行为,因为 BrowserWindow 的生命周期与 HTML(DOM) 的生命周期不同。您可以多次将 URL 加载到 BrowserWindow 并执行许多与 HTML 无关的其他任务。

所以我认为期望 BrowserWindow 会遵循 HTML 的 DOM 状态是不合理的。但是你可以那样做

使用'dom-ready''ready-to-show'避免在 HTML 完全加载之前显示任何内容的事件(包括原始窗口标题)

From docs

const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ show: false })
win.once('ready-to-show', () => {
win.show()
})

关于javascript - Electron 窗口标题需要一些时间来加载(加载前显示项目名称),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55921486/

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