我先前打开了一个命名的单例窗口,其代码将边界设置为{ width: 1200, height: 600 }
。然后我更改了我的代码并更新了Chrome中的应用程序,但是当它打开时,它会继续使用之前的大小!让它使用不同大小的唯一方法是将其命名为其他东西。我如何使用相同的名称但更改尺寸?
使用的第一个版本
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 1200;
var height = 600;
//Create the app window
chrome.app.window.create(
'options.html',
{
frame: "none",
bounds:
{
width: width,
height: height,
left: Math.round((screenWidth-width)/2),
top: Math.round((screenHeight-height)/2)
},
id: "optionsWindow",
singleton: true
}
);
我所用应用的更新版本:
var screenWidth = screen.availWidth;
var screenHeight = screen.availHeight;
var width = 700;
var height = 600;
//Create the app window
chrome.app.window.create(
'options.html',
{
frame: "none",
bounds:
{
width: width,
height: height,
left: Math.round((screenWidth-width)/2),
top: Math.round((screenHeight-height)/2)
},
id: "optionsWindow",
singleton: true
}
);
在这两种情况下,它的宽度为1200像素。仅当我将名称更改为"optionsWindow2"
时,它才会显示为新大小。
更多信息
如果我将回调传递给create
函数并尝试在那里使用AppWindow表单,则表示它为空并且未被chrome.app.window
打开!如果我创建一个新的,从未创建过的窗口(例如optionsWindow3
),那么回调会返回一个有效的AppWindow!为什么会这样?
答案 0 :(得分:0)
要更改尺寸,您必须更改ID。
您看到的结果是设计的。如果为窗口指定了ID,那么您提供的边界仅使用一次,用于创建初始窗口。然后,当您使用相同的ID再次启动时,用户的窗口边界将被缓存并重新使用。