chrome.app.window.onMaximized事件发生得太早了?

时间:2013-12-18 00:27:27

标签: jquery google-chrome-app

所以,我一直在使用我正在使用标签的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

所以,在我看来,在窗口达到它的全尺寸之前,最大化事件就会被触发。这是预期的行为,是这样,等待窗口完全调整大小以查询当前应用程序窗口大小的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

对我来说听起来像是一个错误,在http://crbug.com/new处将其归档为一个错误,并使用错误ID编号编辑此堆栈过低问题,以便其他人可以对其进行加星标记以跟踪更新。