2011-06-01 20 views
5

Phonegap utiliza la fuente html ubicada en la carpeta www. Estaba probando lo que sucede si index.html aún está en www, pero se vincula a otros html que se encuentran en el lado del servidor. Abrirá el html del lado del servidor en el navegador web en lugar de manejarlo como parte de la aplicación.Uso del lado del servidor html + js en phonegap (multiplataforma móvil de desarrollo)

¿Hay alguna manera de hacer funcionar el teléfono con la fuente html + js del lado del servidor?

No es una mala idea si necesita mezclar el uso de bibliotecas (jarras + bibliotecas ios), teléfono local html + js con código html dinámico del lado del servidor (como salida php).

gracias.

Respuesta

3

Phonegap está diseñado para implementar un cliente, una aplicación web dentro de una vista web nativa. Puedes escribir una API del lado del servidor para devolver cualquier información que tu aplicación pueda necesitar y puedes modificar el DOM usando JS. Existen excelentes soluciones de plantillas como mustache.js. La idea es escribir la aplicación completamente en JS y recuperar información del servidor usando cualquiera de las implementaciones de Ajax en su marco JS favorito. No debería necesitar ningún JS dinámico. Solo información a la plantilla e inserte en el DOM.

+0

, pero ¿qué sucede si desea poder actualizar la aplicación sin un ciclo completo de compilación/carga? – epeleg

+0

En ese caso, puede servir html templated como un sitio web normal, esto es lo que Facebook hace con su aplicación. Pero si adoptas este enfoque, tu aplicación nunca podrá funcionar completamente sin conexión. – sciritai

+0

Esto no responde la pregunta en absoluto. A menos que la respuesta sea "no puedes hacer eso". – matteo

2

No encuentro ninguna explicación razonable en ningún lado, pero la razón por la que no puedes invocar la API de PhoneGap cuando html está alojado en el servidor es porque existe un problema de scripts entre sitios ya que el webkit no permite scripts provenientes de un dominio (es decir, un servidor) se ejecutará en un dominio diferente (dispositivo-localhost)

Cuestiones relacionadas