我的应用程序有一个设置窗口,我希望此窗口是唯一的,这样用户就无法同时显示两个设置窗口。问题是我还希望窗口与主窗口相比居中。我使用这段代码(在主窗口的JS中):
chrome.app.window.create("settings.html",
{
alwaysOnTop: true,
bounds: {
left: Math.round((window.screenX + (($(window).width() - 498) / 2))), // Perfect left position.
top: Math.round((window.screenY + (($(window).height() - 664) / 2))), // Perfect top position.
width: 498,
height: 664
},
frame : "none",
id: "settings",
resizable: false
}
);
问题是,如果指定id
并且之前已显示匹配id
的窗口,则会使用记住的bounds
,但我更愿意设置边界我在每个创作时都有边界选项。因此,如果用户移动窗口并关闭窗口,那么位置仍将是完美的"在下一个创作。有这种行为的解决方案吗?
感谢您的帮助。
答案 0 :(得分:1)
我担心你无法覆盖这一点。
您可以使用outerBounds.setPosition
:
chrome.app.window.create(
"settings.html",
{/*...*/},
function(win) {
win.outerBounds.setPosition(
/*left, top*/
);
}
);
顺便说一下,我们已弃用bounds
,您应该切换为使用innerBounds
/ outerBounds
。
或者,您可以尝试实施自己的ID系统。不要使用ID,并在创建之前检查您需要的窗口是否打开(以某种方式识别它)。