我正在使用Cordova开发使用HTML,CSS和Javascript的混合移动应用程序。
我们如何从一个页面重定向到不像浏览器应用程序的其他页面,它必须是Cordova应用程序。
它在浏览器中运行良好但是如果我生成.apk文件并部署到移动设备上,它就像Web应用程序一样工作,而不像Cordova应用程序。 在这里,我使用的是window.open(),window.location.href()和window.location.replace()等编码。
$(document).ready(function() {
$("#btn4").click(function() {
$lname = $("#lname").val();
$.ajax({
url: 'http://localhost:8080/RESTfulDemoDerby/webresources/com.mss.mmxregistration/session',
data: {lname: $lname},
type: 'GET',
crossDomain: true,
ContentType: 'html/text',
dataType: 'text',
cache: false
}).done(function(response) {
if (response== 'success') {
window.location.href='http://localhost:8383/HTML5Application1/listform.html';
}
else {
window.location.replace("http://localhost:8383/HTML5Application1/login1.html");
}
}).fail(function(request, textStatus, errorThrown) {
// alert(url);
alert(textStatus + " : " + errorThrown.toString());
});
});
});
让我澄清一下,我们可以在Cordova应用程序中添加PhoneGap插件吗?因为两者都是使用HTML,CSS和Javascript开发混合应用程序的不同平台。
答案 0 :(得分:2)
你应该深入研究一下cordova / phonegap和整个事情。使用phonegap / cordova构建混合应用程序的常规方法是设置单页面应用程序。
这意味着,您使用的是框架:例如 - jquery mobil e。在此框架的帮助下,您可以设置单页面应用程序。
例如,您可以设置persistent toolbars。完成后,您可以通过正常<a href="#pageID">Page 2</a>
浏览页面,其中#pageID
必须是您要导航到的页面的ID。
单页应用程序模板如下所示:
<div data-role="page" id="page1" data-title="Page 1">
<div class="content">
<a href="#page2">Testcontent Page 2 - Go to Page 2</a>
</div>
</div>
<div data-role="page" id="page2" data-title="Page 2">
<div class="content">
<a href="#page1">Testcontent Page 2 - Back to Page 1</a>
</div>
</div>
data-title="Page 1"
是将通过JavaScript和jQuery自动更改的标题。它将替换持久标头中的<h1></h1>
标签内容。
只需谷歌单页应用程序Cordova教程或类似的东西,有大量的结果。
插入CORDOVA
如果没有那么棒的插件,科尔多瓦就不会那么出名。插件列表几乎是无穷无尽的,每天都有新的插件。您可以通过终端安装插件。
pluginName
将是该插件的名称。例如:console 在您的项目中添加了这样的插件之后,您将运行构建命令(cordova build
- 将“插件添加进程”集成到您正常的构建方式中应用
所以现在添加了你想要的插件后,你可以使用插件带来的命令。但请注意:在使用插件之前,您必须等待deviceReady
事件。
DeviceReady事件的示例
<!DOCTYPE html>
<html>
<head>
<title>Device Ready Example</title>
<script type="text/javascript" charset="utf-8" src="cordova.js"></script>
<script type="text/javascript" charset="utf-8">
// Wait for device API libraries to load
//
function onLoad() {
document.addEventListener("deviceready", onDeviceReady, false);
}
// device APIs are available
//
function onDeviceReady() {
// Now safe to use device APIs
}
</script>
</head>
<body onload="onLoad()">
</body>
</html>
您可以在cordova events docs内找到有关该事件和所有其他事件的详细信息。