【问题标题】:chrome.app.window.onMaximized event fired too early?chrome.app.window.onMaximized 事件触发得太早?
【发布时间】: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

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

【问题讨论】:

    标签: jquery google-chrome-app


    【解决方案1】:

    对我来说听起来像是一个错误,请将其作为一个提交到 http://crbug.com/new 并使用错误 ID 号编辑此堆栈过低问题,以便其他人可以对其进行加注以跟踪更新。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多