{"id":598,"date":"2017-11-02T10:43:52","date_gmt":"2017-11-02T10:43:52","guid":{"rendered":"https:\/\/codingfix.com\/?p=598"},"modified":"2024-09-02T16:55:49","modified_gmt":"2024-09-02T16:55:49","slug":"basic-cordova-application-setup","status":"publish","type":"post","link":"https:\/\/codingfix.com\/basic-cordova-application-setup\/","title":{"rendered":"Basic Cordova application setup"},"content":{"rendered":"\n<p>Wellcome to this intrductory tutorial about the basic Cordova application setup.<\/p>\n\n\n\n<p>You won&#8217;t find in this tutorial nothing really interesting. I just wrote it because here I describe the indispensable first steps to setup a new Cordova project in order to follow the various tutorials you can find in my blog. Instead to repeat the same things starting each new tutorial, I thought it was better to put everything in a single quick article and link it at the start of my articles for those who need it without boring more frequent readers with things they already know.<\/p>\n\n\n\n<p>Obviously, I won&#8217;t to explain here how to install Cordova itself: for that you can just read the <a href=\"https:\/\/cordova.apache.org\/docs\/en\/latest\/\" target=\"_blank\" rel=\"noopener\">official documentation<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"starting-a-new-cordova-application\">Starting a new Cordova application<\/h2>\n\n\n\n<p>So let&#8217;s start creating a small Cordova app to test our Dropbox connection. Open you command line interface (it will be the command prompt in Windows and the terminal window in Linux), navigate to the directory where you keep your Cordova apps and type:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cordova create baseApp com.codingfix.baseApp BaseApp\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #D4D4D4\">cordova create baseApp com.codingfix.baseApp BaseApp<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>And then we enter new project directory and add Android platform:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-width:calc(1 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span role=\"button\" tabindex=\"0\" data-code=\"cd baseApp\ncordova platforms add android\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #569CD6\">cd<\/span><span style=\"color: #D4D4D4\"> baseApp<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">cordova platforms add android<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>We have right now created a new Cordova project. Now we&#8217;re going to see how to edit some files to get them ready to start a real application using Bootstrap and jQuery.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\" id=\"preparing-application-core-files\">Preparing application core files<\/h1>\n\n\n\n<p>As you already know, the core files of our application resides in the <em>baseApp\/www<\/em> directory and in its sub-directories <em>baseApp\/www\/css<\/em> and <em>baseApp\/www<\/em><em>\/js<\/em>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-css-file\">The Css file<\/h2>\n\n\n\n<p>In the directory <em>baseApp\/www\/css<\/em> we find the file index.css, which should look like the following one:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(3 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">CSS<\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * &quot;License&quot;); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n * http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n *\/\n* {\n    -webkit-tap-highlight-color: rgba(0,0,0,0); \/* make transparent link selection, adjust last value opacity 0 to 1.0 *\/\n}\n\nbody {\n    -webkit-touch-callout: none;                \/* prevent callout to copy image, etc when tap to hold *\/\n    -webkit-text-size-adjust: none;             \/* prevent webkit from resizing text to fit *\/\n    -webkit-user-select: none;                  \/* prevent copy paste, to allow, change 'none' to 'text' *\/\n    background-color:#E4E4E4;\n    background-image:linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);\n    background-image:-webkit-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);\n    background-image:-ms-linear-gradient(top, #A7A7A7 0%, #E4E4E4 51%);\n    background-image:-webkit-gradient(\n        linear,\n        left top,\n        left bottom,\n        color-stop(0, #A7A7A7),\n        color-stop(0.51, #E4E4E4)\n    );\n    background-attachment:fixed;\n    font-family:'HelveticaNeue-Light', 'HelveticaNeue', Helvetica, Arial, sans-serif;\n    font-size:12px;\n    height:100%;\n    margin:0px;\n    padding:0px;\n    text-transform:uppercase;\n    width:100%;\n}\n\n\/* Portrait layout (default) *\/\n.app {\n    background:url(..\/img\/logo.png) no-repeat center top; \/* 170px x 200px *\/\n    position:absolute;             \/* position in the center of the screen *\/\n    left:50%;\n    top:50%;\n    height:50px;                   \/* text area height *\/\n    width:225px;                   \/* text area width *\/\n    text-align:center;\n    padding:180px 0px 0px 0px;     \/* image height is 200px (bottom 20px are overlapped with text) *\/\n    margin:-115px 0px 0px -112px;  \/* offset vertical: half of image height and text area height *\/\n                                   \/* offset horizontal: half of text area width *\/\n}\n\n\/* Landscape layout (with min-width) *\/\n@media screen and (min-aspect-ratio: 1\/1) and (min-width:400px) {\n    .app {\n        background-position:left center;\n        padding:75px 0px 75px 170px;  \/* padding-top + padding-bottom + text area = image height *\/\n        margin:-90px 0px 0px -198px;  \/* offset vertical: half of image height *\/\n                                      \/* offset horizontal: half of image width and text area width *\/\n    }\n}\n\nh1 {\n    font-size:24px;\n    font-weight:normal;\n    margin:0px;\n    overflow:visible;\n    padding:0px;\n    text-align:center;\n}\n\n.event {\n    border-radius:4px;\n    -webkit-border-radius:4px;\n    color:#FFFFFF;\n    font-size:12px;\n    margin:0px 30px;\n    padding:2px 0px;\n}\n\n.event.listening {\n    background-color:#333333;\n    display:block;\n}\n\n.event.received {\n    background-color:#4B946A;\n    display:none;\n}\n\n@keyframes fade {\n    from { opacity: 1.0; }\n    50% { opacity: 0.4; }\n    to { opacity: 1.0; }\n}\n \n@-webkit-keyframes fade {\n    from { opacity: 1.0; }\n    50% { opacity: 0.4; }\n    to { opacity: 1.0; }\n}\n \n.blink {\n    animation:fade 3000ms infinite;\n    -webkit-animation:fade 3000ms infinite;\n}\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * Licensed to the Apache Software Foundation (ASF) under one<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * or more contributor license agreements.  See the NOTICE file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * distributed with this work for additional information<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * regarding copyright ownership.  The ASF licenses this file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * to you under the Apache License, Version 2.0 (the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * &quot;License&quot;); you may not use this file except in compliance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * with the License.  You may obtain a copy of the License at<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * http:\/\/www.apache.org\/licenses\/LICENSE-2.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * Unless required by applicable law or agreed to in writing,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * software distributed under the License is distributed on an<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * KIND, either express or implied.  See the License for the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * specific language governing permissions and limitations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * under the License.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">*<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-tap-highlight-color<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #DCDCAA\">rgba<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">,<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">); <\/span><span style=\"color: #6A9955\">\/* make transparent link selection, adjust last value opacity 0 to 1.0 *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">body<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-touch-callout<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #CE9178\">none<\/span><span style=\"color: #D4D4D4\">;                <\/span><span style=\"color: #6A9955\">\/* prevent callout to copy image, etc when tap to hold *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-text-size-adjust<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #CE9178\">none<\/span><span style=\"color: #D4D4D4\">;             <\/span><span style=\"color: #6A9955\">\/* prevent webkit from resizing text to fit *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-user-select<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #CE9178\">none<\/span><span style=\"color: #D4D4D4\">;                  <\/span><span style=\"color: #6A9955\">\/* prevent copy paste, to allow, change &#39;none&#39; to &#39;text&#39; *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-color<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">#E4E4E4<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-image<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #DCDCAA\">linear-gradient<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">top<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#A7A7A7<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0%<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#E4E4E4<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">51%<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-image<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #DCDCAA\">-webkit-linear-gradient<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">top<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#A7A7A7<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0%<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#E4E4E4<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">51%<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-image<\/span><span style=\"color: #D4D4D4\">:-ms-linear-gradient(<\/span><span style=\"color: #CE9178\">top<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#A7A7A7<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0%<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#E4E4E4<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">51%<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-image<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #F44747\">-webkit-gradient<\/span><span style=\"color: #D4D4D4\">(<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #CE9178\">linear<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #CE9178\">left<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">top<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #CE9178\">left<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">bottom<\/span><span style=\"color: #D4D4D4\">,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #F44747\">color-stop<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #B5CEA8\">0<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#A7A7A7<\/span><span style=\"color: #D4D4D4\">),<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #F44747\">color-stop<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #B5CEA8\">0.51<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">#E4E4E4<\/span><span style=\"color: #D4D4D4\">)<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    );<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-attachment<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">fixed<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">font-family<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">&#39;HelveticaNeue-Light&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;HelveticaNeue&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">Helvetica<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">Arial<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">sans-serif<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">font-size<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">12px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">height<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">100%<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">margin<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">padding<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">text-transform<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">uppercase<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">width<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">100%<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/* Portrait layout (default) *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">.app<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #DCDCAA\">url<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">..\/img\/logo.png<\/span><span style=\"color: #D4D4D4\">) <\/span><span style=\"color: #CE9178\">no-repeat<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">center<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">top<\/span><span style=\"color: #D4D4D4\">; <\/span><span style=\"color: #6A9955\">\/* 170px x 200px *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">position<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">absolute<\/span><span style=\"color: #D4D4D4\">;             <\/span><span style=\"color: #6A9955\">\/* position in the center of the screen *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">left<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">50%<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">top<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">50%<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">height<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">50px<\/span><span style=\"color: #D4D4D4\">;                   <\/span><span style=\"color: #6A9955\">\/* text area height *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">width<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">225px<\/span><span style=\"color: #D4D4D4\">;                   <\/span><span style=\"color: #6A9955\">\/* text area width *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">text-align<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">center<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">padding<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">180px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;     <\/span><span style=\"color: #6A9955\">\/* image height is 200px (bottom 20px are overlapped with text) *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">margin<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">-115px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">-112px<\/span><span style=\"color: #D4D4D4\">;  <\/span><span style=\"color: #6A9955\">\/* offset vertical: half of image height and text area height *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                                   <\/span><span style=\"color: #6A9955\">\/* offset horizontal: half of text area width *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">\/* Landscape layout (with min-width) *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">@media<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">screen<\/span><span style=\"color: #D4D4D4\"> and (<\/span><span style=\"color: #9CDCFE\">min-aspect-ratio<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">\/<\/span><span style=\"color: #B5CEA8\">1<\/span><span style=\"color: #D4D4D4\">) and (<\/span><span style=\"color: #9CDCFE\">min-width<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">400px<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #D7BA7D\">.app<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">background-position<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">left<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">center<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">padding<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">75px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">75px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">170px<\/span><span style=\"color: #D4D4D4\">;  <\/span><span style=\"color: #6A9955\">\/* padding-top + padding-bottom + text area = image height *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">margin<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">-90px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">-198px<\/span><span style=\"color: #D4D4D4\">;  <\/span><span style=\"color: #6A9955\">\/* offset vertical: half of image height *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                                      <\/span><span style=\"color: #6A9955\">\/* offset horizontal: half of image width and text area width *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">h1<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">font-size<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">24px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">font-weight<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">normal<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">margin<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">overflow<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">visible<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">padding<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">text-align<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">center<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">.event<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">border-radius<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">4px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-border-radius<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">4px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">color<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">#FFFFFF<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">font-size<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">12px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">margin<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">30px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">padding<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #B5CEA8\">2px<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #B5CEA8\">0px<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">.event.listening<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-color<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">#333333<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">display<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">block<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">.event.received<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">background-color<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">#4B946A<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">display<\/span><span style=\"color: #D4D4D4\">:<\/span><span style=\"color: #CE9178\">none<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">@keyframes<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">fade<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    from { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">1.0<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    50% { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">0.4<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    to { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">1.0<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #C586C0\">@-webkit-keyframes<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">fade<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    from { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">1.0<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    50% { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">0.4<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    to { <\/span><span style=\"color: #9CDCFE\">opacity<\/span><span style=\"color: #D4D4D4\">: <\/span><span style=\"color: #B5CEA8\">1.0<\/span><span style=\"color: #D4D4D4\">; }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D7BA7D\">.blink<\/span><span style=\"color: #D4D4D4\"> {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">animation<\/span><span style=\"color: #D4D4D4\">:fade <\/span><span style=\"color: #B5CEA8\">3000ms<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">infinite<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #9CDCFE\">-webkit-animation<\/span><span style=\"color: #D4D4D4\">:fade <\/span><span style=\"color: #B5CEA8\">3000ms<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #CE9178\">infinite<\/span><span style=\"color: #D4D4D4\">;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">}<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>In this case, our editing task will be very quick and easy: just drop everything and write down this simple rule:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">html, body{\n\theight: 100%;\n}<\/pre>\n\n\n\n<p>That&#8217;s all: save the file and we&#8217;re ready to go on.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-js-file\">The js file<\/h2>\n\n\n\n<p>In the directory <em>baseApp\/www\/js<\/em> the file <em>index.js<\/em> looks like this:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">JavaScript<\/span><span role=\"button\" tabindex=\"0\" data-code=\"\/*\n * Licensed to the Apache Software Foundation (ASF) under one\n * or more contributor license agreements.  See the NOTICE file\n * distributed with this work for additional information\n * regarding copyright ownership.  The ASF licenses this file\n * to you under the Apache License, Version 2.0 (the\n * &quot;License&quot;); you may not use this file except in compliance\n * with the License.  You may obtain a copy of the License at\n *\n * http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing,\n * software distributed under the License is distributed on an\n * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n * KIND, either express or implied.  See the License for the\n * specific language governing permissions and limitations\n * under the License.\n *\/\nvar app = {\n    \/\/ Application Constructor\n    initialize: function() {\n        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);\n    },\n\n    \/\/ deviceready Event Handler\n    \/\/\n    \/\/ Bind any cordova events here. Common events are:\n    \/\/ 'pause', 'resume', etc.\n    onDeviceReady: function() {\n        this.receivedEvent('deviceready');\n    },\n\n    \/\/ Update DOM on a Received Event\n    receivedEvent: function(id) {\n        var parentElement = document.getElementById(id);\n        var listeningElement = parentElement.querySelector('.listening');\n        var receivedElement = parentElement.querySelector('.received');\n\n        listeningElement.setAttribute('style', 'display:none;');\n        receivedElement.setAttribute('style', 'display:block;');\n\n        console.log('Received Event: ' + id);\n    }\n};\n\napp.initialize();\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #6A9955\">\/*<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * Licensed to the Apache Software Foundation (ASF) under one<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * or more contributor license agreements.  See the NOTICE file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * distributed with this work for additional information<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * regarding copyright ownership.  The ASF licenses this file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * to you under the Apache License, Version 2.0 (the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * &quot;License&quot;); you may not use this file except in compliance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * with the License.  You may obtain a copy of the License at<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * http:\/\/www.apache.org\/licenses\/LICENSE-2.0<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * Unless required by applicable law or agreed to in writing,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * software distributed under the License is distributed on an<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * KIND, either express or implied.  See the License for the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * specific language governing permissions and limitations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> * under the License.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\"> *\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #569CD6\">var<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">app<\/span><span style=\"color: #D4D4D4\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ Application Constructor<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">initialize<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">document<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">addEventListener<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;deviceready&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">onDeviceReady<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">bind<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">), <\/span><span style=\"color: #569CD6\">false<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    },<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ deviceready Event Handler<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ Bind any cordova events here. Common events are:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ &#39;pause&#39;, &#39;resume&#39;, etc.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">onDeviceReady<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">receivedEvent<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;deviceready&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    },<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #6A9955\">\/\/ Update DOM on a Received Event<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">receivedEvent<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">var<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">parentElement<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">document<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">getElementById<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">var<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">listeningElement<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">parentElement<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">querySelector<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;.listening&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">var<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">receivedElement<\/span><span style=\"color: #D4D4D4\"> = <\/span><span style=\"color: #9CDCFE\">parentElement<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">querySelector<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;.received&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">listeningElement<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">setAttribute<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;style&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;display:none;&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">receivedElement<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">setAttribute<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;style&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #CE9178\">&#39;display:block;&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">log<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;Received Event: &#39;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">app<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">initialize<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>We can drop any comment and lines 35-40 of the snippet in order to get:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">JavaScript<\/span><span role=\"button\" tabindex=\"0\" data-code=\"var app = {\n    initialize: function() {\n        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);\n    },\n    onDeviceReady: function() {\n        this.receivedEvent('deviceready');\n    },\n    receivedEvent: function(id) {\n        console.log('Received Event: ' + id);\n    }\n};\n\napp.initialize();\n\n$(document).ready(function () {\n \n});\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #569CD6\">var<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">app<\/span><span style=\"color: #D4D4D4\"> = {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">initialize<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">document<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">addEventListener<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;deviceready&#39;<\/span><span style=\"color: #D4D4D4\">, <\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #9CDCFE\">onDeviceReady<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">bind<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">), <\/span><span style=\"color: #569CD6\">false<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">onDeviceReady<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">() {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #569CD6\">this<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">receivedEvent<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;deviceready&#39;<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    },<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #DCDCAA\">receivedEvent<\/span><span style=\"color: #9CDCFE\">:<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">) {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #9CDCFE\">console<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">log<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #CE9178\">&#39;Received Event: &#39;<\/span><span style=\"color: #D4D4D4\"> + <\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">);<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    }<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">};<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #9CDCFE\">app<\/span><span style=\"color: #D4D4D4\">.<\/span><span style=\"color: #DCDCAA\">initialize<\/span><span style=\"color: #D4D4D4\">();<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #DCDCAA\">$<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #9CDCFE\">document<\/span><span style=\"color: #D4D4D4\">).<\/span><span style=\"color: #DCDCAA\">ready<\/span><span style=\"color: #D4D4D4\">(<\/span><span style=\"color: #569CD6\">function<\/span><span style=\"color: #D4D4D4\"> () {<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\"> <\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">});<\/span><\/span><\/code><\/pre><\/div>\n\n\n\n<p>As you can see I&#8217;ve also added the main jQuery function, where we&#8217;ll put all our event handlers.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"the-views-container-index-html\">The views&#8217; container: index.html<\/h2>\n\n\n\n<p>The file <em>www\/index.html<\/em> is the html file which will hold all our views, that is the various application pages, to use a term more familiar to web developers. This page are anything else other than html divs. Currently, the <em>index.html<\/em> file looks like this:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">HTML<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;!DOCTYPE html&gt;\n&lt;!--\n    Licensed to the Apache Software Foundation (ASF) under one\n    or more contributor license agreements.  See the NOTICE file\n    distributed with this work for additional information\n    regarding copyright ownership.  The ASF licenses this file\n    to you under the Apache License, Version 2.0 (the\n    &quot;License&quot;); you may not use this file except in compliance\n    with the License.  You may obtain a copy of the License at\n\n    http:\/\/www.apache.org\/licenses\/LICENSE-2.0\n\n    Unless required by applicable law or agreed to in writing,\n    software distributed under the License is distributed on an\n    &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n     KIND, either express or implied.  See the License for the\n    specific language governing permissions and limitations\n    under the License.\n--&gt;\n&lt;html&gt;\n    &lt;head&gt;\n        &lt;!--\n        Customize this policy to fit your own app's needs. For more guidance, see:\n            https:\/\/github.com\/apache\/cordova-plugin-whitelist\/blob\/master\/README.md#content-security-policy\n        Some notes:\n            * gap: is required only on iOS (when using UIWebView) and is needed for JS-&gt;native communication\n            * https:\/\/ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly\n            * Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:\n                * Enable inline JS: add 'unsafe-inline' to default-src\n        --&gt;\n        &lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;default-src 'self' data: gap: https:\/\/ssl.gstatic.com 'unsafe-eval'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data: content:;&quot;&gt;\n        &lt;meta name=&quot;format-detection&quot; content=&quot;telephone=no&quot;&gt;\n        &lt;meta name=&quot;msapplication-tap-highlight&quot; content=&quot;no&quot;&gt;\n        &lt;meta name=&quot;viewport&quot; content=&quot;user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width&quot;&gt;\n        &lt;link rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; href=&quot;css\/index.css&quot;&gt;\n        &lt;title&gt;Hello World&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n        &lt;div class=&quot;app&quot;&gt;\n            &lt;h1&gt;Apache Cordova&lt;\/h1&gt;\n            &lt;div id=&quot;deviceready&quot; class=&quot;blink&quot;&gt;\n                &lt;p class=&quot;event listening&quot;&gt;Connecting to Device&lt;\/p&gt;\n                &lt;p class=&quot;event received&quot;&gt;Device is Ready&lt;\/p&gt;\n            &lt;\/div&gt;\n        &lt;\/div&gt;\n        &lt;script type=&quot;text\/javascript&quot; src=&quot;cordova.js&quot;&gt;&lt;\/script&gt;\n        &lt;script type=&quot;text\/javascript&quot; src=&quot;js\/index.js&quot;&gt;&lt;\/script&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #808080\">&lt;!<\/span><span style=\"color: #569CD6\">DOCTYPE<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">&lt;!--<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Licensed to the Apache Software Foundation (ASF) under one<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    or more contributor license agreements.  See the NOTICE file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    distributed with this work for additional information<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    regarding copyright ownership.  The ASF licenses this file<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    to you under the Apache License, Version 2.0 (the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    &quot;License&quot;); you may not use this file except in compliance<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    with the License.  You may obtain a copy of the License at<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    http:\/\/www.apache.org\/licenses\/LICENSE-2.0<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    Unless required by applicable law or agreed to in writing,<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    software distributed under the License is distributed on an<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    &quot;AS IS&quot; BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">     KIND, either express or implied.  See the License for the<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    specific language governing permissions and limitations<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">    under the License.<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">--&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">head<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #6A9955\">&lt;!--<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">        Customize this policy to fit your own app&#39;s needs. For more guidance, see:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">            https:\/\/github.com\/apache\/cordova-plugin-whitelist\/blob\/master\/README.md#content-security-policy<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">        Some notes:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">            * gap: is required only on iOS (when using UIWebView) and is needed for JS-&gt;native communication<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">            * https:\/\/ssl.gstatic.com is required only on Android and is needed for TalkBack to function properly<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">            * Disables use of inline scripts in order to mitigate risk of XSS vulnerabilities. To change this:<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">                * Enable inline JS: add &#39;unsafe-inline&#39; to default-src<\/span><\/span>\n<span class=\"line\"><span style=\"color: #6A9955\">        --&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">http-equiv<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;Content-Security-Policy&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;default-src &#39;self&#39; data: gap: https:\/\/ssl.gstatic.com &#39;unsafe-eval&#39;; style-src &#39;self&#39; &#39;unsafe-inline&#39;; media-src *; img-src &#39;self&#39; data: content:;&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;format-detection&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;telephone=no&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;msapplication-tap-highlight&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;no&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;viewport&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">link<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">rel<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;stylesheet&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/css&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">href<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;css\/index.css&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">title<\/span><span style=\"color: #808080\">&gt;<\/span><span style=\"color: #D4D4D4\">Hello World<\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">title<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">head<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">body<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">div<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">class<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;app&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">h1<\/span><span style=\"color: #808080\">&gt;<\/span><span style=\"color: #D4D4D4\">Apache Cordova<\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">h1<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">div<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">id<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;deviceready&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">class<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;blink&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">class<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;event listening&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><span style=\"color: #D4D4D4\">Connecting to Device<\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">p<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">                <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">p<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">class<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;event received&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><span style=\"color: #D4D4D4\">Device is Ready<\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">p<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">            <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">div<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">div<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;cordova.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;js\/index.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">body<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>The first thing we&#8217;re going to change is the Content-Security-Policy tag: replace it with the following one:<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">&lt;meta http-equiv=\"Content-Security-Policy\" content=\"default-src *; style-src 'self' http:\/\/* 'unsafe-inline'; script-src 'self' http:\/\/* 'unsafe-inline' 'unsafe-eval'; media-src *\" \/&gt;<\/pre>\n\n\n\n<p>For sure we ight want to change the title, but for the moment we can leave it as it is.<\/p>\n\n\n\n<p>Drop out the entire div with class &#8220;app&#8221; because we don&#8217;t need it and obviously you can drop any superflous comment in the file.<\/p>\n\n\n\n<p>Finally we have to add links to Bootstrap and jQuery. We could use CDN but we&#8217;re likely to want our application work even offline, so it is better to download both <a href=\"https:\/\/getbootstrap.com\/\" target=\"_blank\" rel=\"noopener\">Bootstrap<\/a> and <a href=\"https:\/\/jquery.com\/\" target=\"_blank\" rel=\"noopener\">jQuery<\/a> and proceed to put required files in the correct directories and link them in the html file:<\/p>\n\n\n\n<div class=\"wp-block-kevinbatdorf-code-block-pro cbp-has-line-numbers\" data-code-block-pro-font-family=\"Code-Pro-JetBrains-Mono\" style=\"font-size:.875rem;font-family:Code-Pro-JetBrains-Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;--cbp-line-number-color:#D4D4D4;--cbp-line-number-width:calc(2 * 0.6 * .875rem);line-height:1.25rem;--cbp-tab-width:2;tab-size:var(--cbp-tab-width, 2)\"><span style=\"display:flex;align-items:center;padding:10px 0px 10px 16px;margin-bottom:-2px;width:100%;text-align:left;background-color:#2b2b2b;color:#c7c7c7\">HTML<\/span><span role=\"button\" tabindex=\"0\" data-code=\"&lt;!DOCTYPE html&gt;\n&lt;html&gt;\n    &lt;head&gt;\n\t\t&lt;meta http-equiv=&quot;Content-Security-Policy&quot; content=&quot;default-src *; style-src 'self' http:\/\/* 'unsafe-inline'; script-src 'self' http:\/\/* 'unsafe-inline' 'unsafe-eval'; media-src *&quot; \/&gt;\n        &lt;meta name=&quot;format-detection&quot; content=&quot;telephone=no&quot;&gt;\n        &lt;meta name=&quot;msapplication-tap-highlight&quot; content=&quot;no&quot;&gt;\n        &lt;meta name=&quot;viewport&quot; content=&quot;user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width&quot;&gt;\n\t\t&lt;link rel=&quot;stylesheet&quot; href=&quot;css\/bootstrap.min.css&quot; \/&gt;\n        &lt;link rel=&quot;stylesheet&quot; type=&quot;text\/css&quot; href=&quot;css\/index.css&quot;&gt;\n        &lt;title&gt;Hello World&lt;\/title&gt;\n    &lt;\/head&gt;\n    &lt;body&gt;\n\n        &lt;script type=&quot;text\/javascript&quot; src=&quot;cordova.js&quot;&gt;&lt;\/script&gt;\n\t\t&lt;script type=&quot;text\/javascript&quot; src=&quot;js\/jquery-2.2.3.min.js&quot;&gt;&lt;\/script&gt;\n\t\t&lt;script type=&quot;text\/javascript&quot; src=&quot;js\/bootstrap.min.js&quot;&gt;&lt;\/script&gt;\n        &lt;script type=&quot;text\/javascript&quot; src=&quot;js\/index.js&quot;&gt;&lt;\/script&gt;\n    &lt;\/body&gt;\n&lt;\/html&gt;\n\" style=\"color:#D4D4D4;display:none\" aria-label=\"Copy\" class=\"code-block-pro-copy-button\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" style=\"width:24px;height:24px\" fill=\"none\" viewBox=\"0 0 24 24\" stroke=\"currentColor\" stroke-width=\"2\"><path class=\"with-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M4.5 12.75l6 6 9-13.5\"><\/path><path class=\"without-check\" stroke-linecap=\"round\" stroke-linejoin=\"round\" d=\"M16.5 8.25V6a2.25 2.25 0 00-2.25-2.25H6A2.25 2.25 0 003.75 6v8.25A2.25 2.25 0 006 16.5h2.25m8.25-8.25H18a2.25 2.25 0 012.25 2.25V18A2.25 2.25 0 0118 20.25h-7.5A2.25 2.25 0 018.25 18v-1.5m8.25-8.25h-6a2.25 2.25 0 00-2.25 2.25v6\"><\/path><\/svg><\/span><pre class=\"shiki dark-plus\" style=\"background-color: #1E1E1E\" tabindex=\"0\"><code><span class=\"line\"><span style=\"color: #808080\">&lt;!<\/span><span style=\"color: #569CD6\">DOCTYPE<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">head<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t<\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">http-equiv<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;Content-Security-Policy&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;default-src *; style-src &#39;self&#39; http:\/\/* &#39;unsafe-inline&#39;; script-src &#39;self&#39; http:\/\/* &#39;unsafe-inline&#39; &#39;unsafe-eval&#39;; media-src *&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #808080\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;format-detection&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;telephone=no&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;msapplication-tap-highlight&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;no&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">meta<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">name<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;viewport&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">content<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t<\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">link<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">rel<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;stylesheet&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">href<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;css\/bootstrap.min.css&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #808080\">\/&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">link<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">rel<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;stylesheet&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/css&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">href<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;css\/index.css&quot;<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">title<\/span><span style=\"color: #808080\">&gt;<\/span><span style=\"color: #D4D4D4\">Hello World<\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">title<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">head<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">body<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;cordova.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t<\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;js\/jquery-2.2.3.min.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">\t\t<\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;js\/bootstrap.min.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">        <\/span><span style=\"color: #808080\">&lt;<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">type<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;text\/javascript&quot;<\/span><span style=\"color: #D4D4D4\"> <\/span><span style=\"color: #9CDCFE\">src<\/span><span style=\"color: #D4D4D4\">=<\/span><span style=\"color: #CE9178\">&quot;js\/index.js&quot;<\/span><span style=\"color: #808080\">&gt;&lt;\/<\/span><span style=\"color: #569CD6\">script<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #D4D4D4\">    <\/span><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">body<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><span style=\"color: #808080\">&lt;\/<\/span><span style=\"color: #569CD6\">html<\/span><span style=\"color: #808080\">&gt;<\/span><\/span>\n<span class=\"line\"><\/span><\/code><\/pre><\/div>\n\n\n\n<p>That&#8217;s all. From here we can start to build any Cordova mobile application adding code, plugins and scripts as we need them.<\/p>\n\n\n\n<p>Happy coding \ud83d\ude09<\/p>\n\n\n\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wellcome to this intrductory tutorial about the basic Cordova application setup. You won&#8217;t find in this tutorial nothing really interesting. I just wrote it because here I describe the indispensable first steps to setup a new Cordova project in order to follow the various tutorials you can find in my blog. Instead to repeat the [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":606,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_gspb_post_css":"","footnotes":""},"categories":[7],"tags":[],"post_folder":[141],"class_list":["post-598","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-cordova"],"_links":{"self":[{"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/posts\/598","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/comments?post=598"}],"version-history":[{"count":0,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/posts\/598\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/media\/606"}],"wp:attachment":[{"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/media?parent=598"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/categories?post=598"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/tags?post=598"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/codingfix.com\/wp-json\/wp\/v2\/post_folder?post=598"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}