Buenas prácticas
Importante
Se deberá hacer uso de control de excepciones con try/catch. Las excepciones no controladas podrían inhabilitar el player HTML5 en alguna de sus funciones. Si se produjeran errores que puedan perjudicar la normal ejecución del player, Admira no se haría responsable de las consecuencias.
Iframe
La ejecución de contenidos o WebApps se produce dentro de un TAG HTML <iframe> sandboxed. Este iframe sandbox contiene los siguientes permisos habilitados:
allow-forms Re-enables form submission
allow-pointer-lock Re-enables APIs
allow-same-origin Allows the iframe content to be treated as being from the same origin
allow-scripts Re-enables scripts
Por contra no están permitidos:
top-navigation; (esto es, solo se puede usar “_self” en target de links)
popups
Acceso a recursos externos
Cada casuística es diferente. En el caso de querer acceder a recursos de otros “sites”, se deberán tener en cuenta las políticas de ejecución desde un <iframe>. Esto significa que opciones como X-Frame-Options o CORS deben ser seteadas correctamente en el servidor al que queramos hacer la petición. En definitiva, las WebApps que queramos correr en admira <iframe> no se ejecutan como en un navegador, sino en una “ventana desatendida”.
Peticiones ASYNC
Es importante remarcar que cualquier petición que se haga ya sea al exterior (url en internet) o de forma local (fichero en filesystem) debe hacerse de forma ASYNCRONA, ya que el contenido HTML comparte HILO de ejecución con el player. Por tanto, si se diera el caso de una petición SYNC, el player pararía hasta que la petición finalizara. Esto puede provocar problemas graves en la ejecución de player. Por tanto, TODAS las peticiones deben hacerse de modo ASYNCRONO, de igual modo que cualquier ejecución de código bloqueante SYNCRONO debe evitarse para que no provoque una parada inusual al player.
En esta web podemos simular bloqueos de peticiones:
http://slowwly.robertomurray.co.uk/delay/3000/url/http://api.admira.com
Donde 3000 es el delay en miliseconds.
Last updated