PhoneGap应用程序无法在windowsphone中运行?

时间:2012-03-04 16:42:28

标签: cordova windows-phone-7

我正在使用 Visual Studio 2010 windowsphone SDK Phonegap1.4.1 。我创建了一个 phonegapStarter 项目。在 index.html 中,我写了试过加速器示例代码。         

<meta name="viewport" content="width=device-width, height=device-height, initial-scale=1.0, maximum-scale=1.0, user-scalable=no;" />
<meta http-equiv="Content-type" content="text/html; charset=utf-8"/> 
<title>PhoneGap</title>
<link rel="stylesheet" href="master.css" type="text/css" media="screen"/>

    <script type="text/javascript">
        // provide our own console if it does not exist, huge dev aid!
        if (typeof window.console == "undefined") {
            window.console = { log: function (str) { window.external.Notify(str); } };
        }

        // output any errors to console log, created above.
        window.onerror = function (e) {
            console.log("window.onerror ::" + JSON.stringify(e));
        };

        console.log("Installed console ! ");
</script>


<script type="text/javascript" charset="utf-8" src="phonegap-1.4.1.js"></script>      


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

var deviceReady = false;

function roundNumber(num) {
    var dec = 3;
    var result = Math.round(num * Math.pow(10, dec)) / Math.pow(10, dec);
    return result;
}

//-------------------------------------------------------------------------
// Acceleration
//-------------------------------------------------------------------------
var watchAccelId = null;

/**
* Start watching acceleration
*/
var watchAccel = function () {
    console.log("watchAccel()");

    // Success callback
    var success = function (a) {
        document.getElementById('x').innerHTML = roundNumber(a.x);
        document.getElementById('y').innerHTML = roundNumber(a.y);
        document.getElementById('z').innerHTML = roundNumber(a.z);
        console.log("watchAccel success callback");
    };

    // Fail callback
    var fail = function (e) {
        console.log("watchAccel fail callback with error code " + e);
        stopAccel();
        setAccelStatus(Accelerometer.ERROR_MSG[e]);
    };

    // Update acceleration every 1 sec
    var opt = {};
    opt.frequency = 50;
    watchAccelId = navigator.accelerometer.watchAcceleration(success, fail, opt);

    setAccelStatus("Running");
};

/**
* Stop watching the acceleration
*/
var stopAccel = function () {
    console.log("stopAccel()");
    setAccelStatus("Stopped");
    if (watchAccelId) {
        navigator.accelerometer.clearWatch(watchAccelId);
        watchAccelId = null;
    }
};

/**
* Get current acceleration
*/
var getAccel = function () {
    console.log("getAccel()");

    // Stop accel if running
    //stopAccel();

    // Success callback
    var success = function (a) {
        document.getElementById('x').innerHTML = roundNumber(a.x);
        document.getElementById('y').innerHTML = roundNumber(a.y);
        document.getElementById('z').innerHTML = roundNumber(a.z);
    };

    // Fail callback
    var fail = function (e) {
        console.log("getAccel fail callback with error code " + e);
        setAccelStatus(Accelerometer.ERROR_MSG[e]);
    };

    // Make call
    var opt = {};
    navigator.accelerometer.getCurrentAcceleration(success, fail, opt);
};

/**
* Set accelerometer status
*/
var setAccelStatus = function (status) {

    document.getElementById('accel_status').innerHTML = status;
};

/**
* Function called when page has finished loading.
*/
function init() {

    document.addEventListener("deviceready", function () {
        deviceReady = true;
        console.log("Device=" + device.platform + " " + device.version);
    }, false);
    window.setTimeout(function () {
        if (!deviceReady) {
            alert("Error: PhoneGap did not initialize.  Demo will not run correctly.");
        }
    }, 1000);
}

而html部分是     

<h1>Acceleration</h1>
<div id="info">
    <div id="accel_status">Stopped</div>
    <div><table width="100%">
        <tr><td>X:</td><td id="x">&nbsp;</td></tr>
        <tr><td>Y:</td><td id="y">&nbsp;</td></tr>
        <tr><td>Z:</td><td id="z">&nbsp;</td></tr>
    </table></div>
</div>



<h2>Action</h2>
<a href="#" class="btn large" onclick="getAccel();">Get Acceleration</a>
<a href="#" class="btn large" onclick="watchAccel();">Start Watch</a>
<a href="#" class="btn large" onclick="stopAccel();">Clear Watch</a>
<h2>&nbsp;</h2><a href="index.html" class="backBtn">Back</a>

  

但我没有得到任何输出。当点击按钮时,我看不到X,Y,Z标签的任何变化。可能是什么原因?

0 个答案:

没有答案