Cordova在“设备就绪”事件中获得屏幕宽度和高度

时间:2016-06-28 21:05:04

标签: javascript cordova

我在Cordova应用程序中获取屏幕宽度和高度时遇到问题。我在应用程序启动后立即需要这些值。现在我正在尝试这样的事情:

document.addEventListener('deviceready', function() {
    'use strict';

     var canvas = document.querySelector('#myApp'),
         ctx = canvas.getContext('2d'),
         appSize = {
             w: window.innerWidth,
             h: window.innerHeight
         };

     canvas.width = window.innerWidth;
     canvas.height = window.innerHeight;

     (code code code code)

}, flase)

问题是画布的宽度为0px,高度为0px。值得一提的是,当我稍后设置这些值时(例如在'touchstart'事件之后),一切正常。

有人知道解决方案吗?

1 个答案:

答案 0 :(得分:0)

只需使用jquery功能。并且应该使用document.ready而不是deviceready。可能是您的设备已在页面加载之前运行。 deviceready和document.ready之间的时间差别很小。

$(document).ready(function()
{
var height = $(window).height(); 
var width = $(window).width(); 
// do something
});