Apache Cordova - 混合移动应用程序页面就像Chrome浏览器一样打开,不像cordova应用程序

时间:2015-06-30 12:12:44

标签: javascript android html css cordova

我正在使用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开发混合应用程序的不同平台。

1 个答案:

答案 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 Documentation 5.0

插入CORDOVA

如果没有那么棒的插件,科尔多瓦就不会那么出名。插件列表几乎是无穷无尽的,每天都有新的插件。

您可以通过终端安装插件。

  1. cd yourProject
  2. cordova插件添加cordova-plugin-pluginName 其中pluginName将是该插件的名称。例如:console
  3. cordova插件添加cordova-plugin-console
  4. 在您的项目中添加了这样的插件之后,您将运行构建命令(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内找到有关该事件和所有其他事件的详细信息。