Android- Phonegap设备宽度获得不同的值

时间:2012-12-10 10:26:07

标签: android jquery cordova jquery-mobile

我正在使用phonegap android开发一个应用程序。

我正试图让设备上的设备宽度准备就绪。我试过这段代码。

第一次应用程序开始给它(480,我使用samsung i9003)宽度(警报),当我点击后退按钮并再次运行应用程序时显示320.

我一直被困在这里..请帮忙

<!DOCTYPE HTML>
<html>
<head>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <meta name="format-detection" content="telephone=no" />
        <meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=device-dpi" />
        <meta name="viewport" content="width=device-width; user-scalable=no" />
        <link rel="stylesheet" href="css/jquery.mobile-1.1.1.css" />
        <link rel="stylesheet" type="text/css" href="css/index.css" />
        <title>Title</title>
    </head>
<body onload="onLoad()">


<div class="logo"></div>
<div class="content">
<div id="justt"></div>
</div>


        <script type="text/javascript" src="cordova-2.2.0.js"></script>
        <script src="js/jquery.js"></script>

  <script type="text/javascript" charset="utf-8">


    function onLoad() {
        document.addEventListener("deviceready", onDeviceReady, false);
    }


    function onDeviceReady() {

    var width=0;
    width=$(window).width()

    $('#justt').css('width',(width)+'px');
    alert(width);
    }

    </script>



</body>
</html>

1 个答案:

答案 0 :(得分:1)

为什么不尝试获取页面内容宽度:

var screenWidth = 0;
$(window).bind('resize', function () {
    screenWidth = $('[data-role="page"]').first().width());
}).trigger('resize');​​​

这将为您提供页面内容宽度,即使页面已调整大小。

在获取视口屏幕尺寸($(window).width())时,您不会总是得到完美的结果,不同的设备表现不同。

$(window).width()和$(window).height()将为您提供视口尺寸,而不是屏幕尺寸。 Here您将找到此问题的详细概述。