Ací es mostren les diferències entre la revisió seleccionada i la versió actual de la pàgina.
| Ambdós costats versió prèvia Revisió prèvia Següent revisió | Revisió prèvia | ||
|
cordova [2025/10/24 13:50] enric_mieza_sanchez [Exercici Tasklist v0.2] |
cordova [2025/11/06 19:00] (actual) enric_mieza_sanchez [Inicialitzacions HTML] |
||
|---|---|---|---|
| Línia 135: | Línia 135: | ||
| \\ | \\ | ||
| - | ===== Cordova | + | ===== Seguretat en Cordova ===== |
| - | Típicament podríem fer una aplicació en JavaScript en una pàgina HTML i podríem posar botons que cridin a funcions del nostre codi amb un //onclick// (el què coneixem per crida //inline//). Doncs bé, Cordova no ens deixa fer //inlines// com aquest. | + | <WRAP important> |
| - | + | Cordova ens deixa crear qualsevol | |
| - | <WRAP alert> | + | |
| - | Aquesta solució funcionaria | + | |
| - | + | ||
| - | <code html>< | + | |
| - | + | ||
| - | Això es deu al tag META que hi ha l' | + | |
| <WRAP prewrap> | <WRAP prewrap> | ||
| <code html> | <code html> | ||
| <meta http-equiv=" | <meta http-equiv=" | ||
| </ | </ | ||
| + | </ | ||
| + | Aquest tag META bàsicament ens limita certes accions de l'HTML que podrien fer vulnerable el nostre codi. Entre d' | ||
| </ | </ | ||
| - | i que veurem més endavant com a mesura de seguretat, per evitar injeccions | + | |
| + | Típicament podríem fer una aplicació en JavaScript en una pàgina HTML i podríem posar botons | ||
| + | |||
| + | <WRAP alert> | ||
| + | Aquesta solució funcionaria en una web normal, però **no funciona si posem el tag META de Content-Security-Policy**: | ||
| + | |||
| + | <code html>< | ||
| </ | </ | ||
| Forma de solventar-ho: | Forma de solventar-ho: | ||
| - | < | + | < |
| <button id=" | <button id=" | ||
| + | |||
| + | <!-- al final del body carreguem les llibreries de Cordova i la de la nostra app --> | ||
| + | <script src=" | ||
| + | <script src=" | ||
| </ | </ | ||
| | | ||
| - | I després, en el nostre '' | + | I després, en el nostre '' |
| - | <code javascript index.js> | + | |
| - | $('#boto1').click(addElem); | + | |
| - | </ | + | |
| - | En aquest exemple, cridaríem a la funció | + | <tabbox JavaScript> |
| + | <code javascript index.js> | ||
| + | <tabbox jQuery> | ||
| + | <code javascript index.js> | ||
| + | </ | ||
| - | I un darrer apunt, la crida a aquesta funció no pot anar al principi del document, pq en el //head// encara no existeix el nostre //button//. Tenim 2 solucions: | + | \\ |
| - | - Posar el tag ''< | + | |
| - | - Posar el codi d' | + | ===== Inicialitzacions ===== |
| + | |||
| + | ==== Inicialitzacions HTML ==== | ||
| + | |||
| + | Abans d' | ||
| + | - Posar el tag ''< | ||
| + | - Posar el codi d' | ||
| + | Estil jQuery amb la funció '' | ||
| + | < | ||
| $(document).ready( function () { | $(document).ready( function () { | ||
| - | // initialize | + | |
| - | $('# | + | $('# |
| - | $('# | + | $('# |
| }); | }); | ||
| - | </sxh> | + | </code> |
| + | <tabbox JavaScript> | ||
| + | <code javascript> | ||
| + | function inicialitza() { | ||
| + | // inicialitzar: | ||
| + | document.getElementById(" | ||
| + | document.getElementById(" | ||
| + | } | ||
| + | // associem l' | ||
| + | window.addEventListener(" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | ==== Inicialitzacions Cordova ==== | ||
| + | Cordova necessita inicialitzar el // | ||
| + | |||
| + | <code html index.html> | ||
| + | < | ||
| + | |||
| + | ... | ||
| + | |||
| + | <!-- carreguem les llibreries de Cordova i la de la nostra app --> | ||
| + | <script src=" | ||
| + | <script src=" | ||
| + | </ | ||
| + | </ | ||
| + | |||
| + | La línia del HTML que carrega '' | ||
| + | |||
| + | <code javascript index.js> | ||
| + | document.addEventListener(' | ||
| + | |||
| + | function onDeviceReady() { | ||
| + | // aquí ja podem fer accions amb la càmera, arxius, etc. | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | <WRAP todo> | ||
| + | Fes una **versió v0.4 de la Tasklist** aplicant el tag META de seguretat i les inicialitzacions pertinents. | ||
| + | </ | ||
| \\ | \\ | ||