3

我有一个使用 phonegap 1.6.0 和 JQM 1.1.0 在 iOS 和 Android 上开发的应用程序。

现在我对黑莓使用了相同的代码。我在一个 HTML 中有很多页面。我只是不断地改变页面。但我面临的问题是,每次我执行 changePage() 时都会触发设备就绪。这在 iOS 和 Android 中不会发生……为什么会发生?

下面是我的代码

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" id="viewport" content="width=device-width,height=device- height,initial-scale=1.0,user-scalable=no">
<script src="cordova-1.6.0.js" type="text/javascript"></script> 
<script type="text/javascript" src="jquery/jquery-1.7.1.min.js"></script>
<link rel="stylesheet" href="jquerymobile/jquery.mobile-1.1.0.min.css" />
<script type="text/javascript" src="jquerymobile/jquery.mobile-1.1.0.min.js"></script>
<script type="text/javascript">

    //---------------------------------------------------------------------
    // Cordova event listeners
    //---------------------------------------------------------------------

   function onDeviceReady() {
    alert("Inside Device Ready");
    }

    // register Cordova event listeners when DOM content loaded
    function init() {
        console.log('init()');
        document.addEventListener("deviceready", onDeviceReady, true); 
    }

</script>
<title>Cordova API Sample</title>
</head>
<body onload="init()">

   <div data-role="page" id="home">
<div data-role="header">
<h1>Here is the index page.</h1>
</div>

<div data-role="content">
<p><center>Below you may transition to our other pages.</center></p>

<a href="#about" data-ajax="false" data-role="button" data-inline="true">About  Me</a>
</div>
</div>

<div data-role="page" id="about">
<div data-role="header">
<h1>About Us</h1>
</div>

<div data-role="content">
<a href="#home" data-ajax="false" data-role="button" data-inline="true">Back Home</a>
</div>
</div>
</body>
</html>
4

2 回答 2

0

在此,您必须为准备好的设备再创建一个 js 文件。要将您的函数调用到此文件中以获取下面的新 js 文件代码。

//---------------------------------------------------------------------
// Cordova event listeners
//---------------------------------------------------------------------



function onDeviceReady() {
    alert("Inside Device Ready");
    }

// register Cordova event listeners when DOM content loaded
function init() {
    console.log('init()');
    document.addEventListener("deviceready", onDeviceReady, true); 
}

需要时调用此脚本。像这样

于 2012-04-19T04:54:20.347 回答
0

我的 9800 模拟器中有一个错误。我重新安装了它,它工作。

于 2012-04-30T09:15:52.693 回答