build.phonegap – blank page

junio 25, 2013

Al desarrollar una aplicación para dispositivos móviles con el framework phonegap, esta se veía correctamente en el navegador (Google Chrome) pero al probarla en el dispositivo y en el simulador sólo aparecía una página en blanco.

La aplicación es una aplicación sencilla que utiliza backbone y bootstrap. El problema fue por la forma en que cargaba las plantillas mediante jQuery. Lo hacía de la siguiente manera

    $.get('tpl/' + name + '.html', function (data) {
                self.templates[name] = Handlebars.compile(data);
            });

Cuando no especificas el tipo de datos que vas a cargar con la función ‘get’, esta trata de interpretar el tipo de dato con la información que le regrese el servidor o analizando los datos. La función Handlebars.compile espera que le pasemos un String que representa la plantilla, pero si no lo especificamos jQuery puede pasar la variable ‘data’ como un objeto de tipo ‘Document’ y no va a compilar la plantilla. Es por esto que nos muestra la página en blanco.

Para corregirlo basta con agregar un parámetro para especificar el tipo de dato que nos va a regresar la función ‘get’

    $.get('tpl/' + name + '.html', function (data) {
                self.templates[name] = Handlebars.compile(data);
            }, 'text');

Fuentes:
http://stackoverflow.com/questions/9310906/get-is-returning-object-document-in-iphone-simulator-with-phonegap
http://stackoverflow.com/questions/13453534/blank-screen-when-packaging-with-phonegap

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: