Javascript 电子调整无框窗口的大小
我正在开发一个应用程序,它有一个无框窗口,有一个html5视频元素,可以100%显示充满document.body的网络摄像头 我的Javascript 电子调整无框窗口的大小,javascript,window,electron,resizable,Javascript,Window,Electron,Resizable,我正在开发一个应用程序,它有一个无框窗口,有一个html5视频元素,可以100%显示充满document.body的网络摄像头 我的mainWindow设置为可调整大小mainWindow.isResizable(true)但我无法调整窗口大小 当我使用chrome开发工具进行调试时,我只能调整chrome开发工具所在侧的窗口大小。(不确定它是否有用,但我正在基于Ubuntu14.04的Linux发行版Elementary OS Freya上开发) 有人能解释一下为什么即使我的主窗口设置为可调整
mainWindow
设置为可调整大小mainWindow.isResizable(true)
但我无法调整窗口大小
当我使用chrome开发工具进行调试时,我只能调整chrome开发工具所在侧的窗口大小。(不确定它是否有用,但我正在基于Ubuntu14.04的Linux发行版Elementary OS Freya上开发)
有人能解释一下为什么即使我的主窗口设置为可调整大小,我也不能调整可调整大小的窗口吗
另外,我能做些什么来解决这个问题
var app = require("app");
var BrowserWindow = require("browser-window");
var mainWindow = null;
// Quit when all windows are closed.
app.on("window-all-closed", function() {
app.quit();
});
app.on("ready", function() {
mainWindow = new BrowserWindow({
width: 640,
height: 480,
frame: false
});
mainWindow.loadUrl("file://" + __dirname + "/index.html");
// Set Window Resizable
mainWindow.isResizable(true);
mainWindow.focus();
});
我设法找出了问题所在,并发现它甚至不是javascript问题,我所要做的就是修改CSS,以获得我想要的可拖动内容和我不想要的内容 因为我的html和正文也设置为可拖动,所以我无法调整大小。这是我的解决方案 我必须创建一个新元素(
div.dialog
)并将我的内容封装在其中。以及下面的CSS
.dialog {
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: #000;
background: rgba(0, 0, 0, 0.5);
-webkit-app-region: no-drag;
}
.tips {
position: absolute;
top: 4px;
left: 4px;
right: 4px;
bottom: 4px;
-webkit-app-region: drag;
}
HTML:
<div class="dialog" data-action="toggle">
<header class="tips" data-action="toggle">
<div>
<nav>
[Space] for Snapshot<br>
[Esc] to Close
<p data-action="toggle-tips">[Tab] to Toggle Dialog</p>
</nav>
</div>
</header>
</div>
[空间]用于快照
[Esc]关闭
[Tab]切换对话框
您使用了错误的方法:
main窗口。可设置大小(false)
设置用户是否可以手动调整窗口大小
mainWindow.isResizeable()
返回一个布尔值-用户是否可以手动调整窗口大小。中提到的答案是可以的,但有另一种方法不会影响任何其他样式,并且可以在您拥有的任何无框窗口中删除。
它是使用electron创建的,使用类似的方法允许从标题调整大小
因此,您的结构大致如下,标题栏上有-webkit-app-region:drag代码>:
。标题栏{
显示器:flex;
高度:30px;
边框:1px纯色灰色;
对齐项目:居中;
-webkit应用程序区域:拖动;
}
.头衔{
左边距:10px;
}
.标题栏BTN{
左边距:自动;
-webkit应用程序区域:无拖动;
}
窗口标题
-
+
x
谢谢。这基本上回答了我的问题,当您将窗口标记为“frame:false”,然后启用“-webkit app region:drag”时,drag标志将禁用窗口大小调整手柄。我希望有另一种解决方案,因为我已经设计了UI,但这正好证实了我的怀疑,即需要创建“无拖动”边框才能恢复窗口大小控制柄。这是正确的答案!