gpt4 book ai didi

javascript - 在 BrowserView 或 Webview 中使用 Youtube 全屏按钮时如何阻止 Electron 窗口进入全屏模式

转载 作者:行者123 更新时间:2023-12-03 12:26:07 31 4
gpt4 key购买 nike

我正在制作一个允许用户浏览互联网的 BrowserWindow 或 Webview 的应用程序。使用 Youtube 时,如果单击全屏按钮,我的整个 Electron 应用程序都会全屏显示。不是视频,而是我的整个应用程序,然后要退出全屏,我必须使用 Youtube 的全屏按钮。这是它的样子:

 tag

在这张图片中,我的整个应用程序都处于全屏模式。有没有办法阻止这种情况发生?我喜欢 BrowserView 本身有全屏的 Youtube 视频,但我不喜欢我的整个应用程序变成全屏。所有带有全屏按钮的视频都会出现这种情况,例如 Twitch。

-谢谢

编辑:我发现了一个潜在的临时修复。如果我将 BrowserWindow 选项“全屏”设置为 false so fullscreenable: false,它会阻止 BrowserView 中的视频能够使我的应用程序全屏,同时仍然填满 BrowserView。我仍然对是否有另一种方法来实现这一点感兴趣。

最佳答案

我知道这是旧的,但我有同样的问题。
不幸的是,您找到的选项是最直接的。
设置问题 fullscreen: false ,是当你真正想通过窗口控制时,你失去了进入全屏的能力。
有一些钩子(Hook)可以区分窗口调用的全屏和 HTML,但它们是事后的,不能取消(enter-html-full-screenenter-full-screen)。
我正在使用的选项是这样的:

  win.on('enter-html-full-screen', function () {
if (win.isFullScreen()) {
setTimeout(function() {
win.setFullScreen(false)
win.maximize()
}, 1000)
}
})
您必须等待窗口完成移动到全屏,因此会超时。如果您退出 isFullScreen ,您会看到它立即被调用,但是当您尝试将其设置为 false 而没有超时时,会立即得到一个日志,说明窗口不是全屏。
此解决方案使窗口最大化,这可能不是所希望的。您可以改为将窗口恢复到以前的尺寸,但是您会得到橡皮筋效果。
另一种选择可能是将窗口切换为 fullScreen: true当您使用窗口控件然后通过 IPC 将其切换回来时,但我找不到直接的方法来做到这一点。我们需要一个 pre-enter-html-fullscreen我们可以取消。

关于javascript - 在 BrowserView 或 Webview 中使用 Youtube 全屏按钮时如何阻止 Electron 窗口进入全屏模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56200889/

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