【发布时间】:2013-12-18 00:27:26
【问题描述】:
所以,我一直在开发一个使用标签的 Chrome 应用程序,并且需要在应用程序大小发生变化后调整它们的大小。我在下面有一些代码大致描述了我的问题。我正在使用 jQuery,在 $.ready() 函数中,我将侦听器添加到全屏并最大化事件,我在其中调用函数 resizeStage。我的
function App() {
this.init = init;
this.resizeStage = resizeStage;
function resizeStage() {
console.log(chrome.app.window.current().isMaximized());
var docWidth = $(document).width();
var docHeight = $(document).height();
console.log('resizeStage', docWidth, docHeight);
}
}
$(document).ready(function() {
var app = new App();
app.init();
/*
chrome.app.window.current().onFullscreened.addListener(function () {
console.log('onFullscreened');
app.resizeStage();
});
*/
chrome.app.window.current().onMaximized.addListener(function () {
console.log('onMaximized');
app.resizeStage();
});
});
输出是这样的
true app.js:43
resizeStage 1042 780 app.js:48
太小了(我有一个 30" CinemaDisplay)。如果我在 resizeStage 的第一行设置断点,并在控制台中运行以下命令,我会看到
$(document).height();
1400
$(document).width();
2568
所以,在我看来,最大化事件在窗口达到其全尺寸之前就被触发了。这是预期的行为吗?等到窗口完全调整大小以查询当前应用程序窗口大小的最佳方法是什么?
【问题讨论】: