Estoy escribiendo una aplicación para iPad usando PhoneGap y me gustaría cargar una URL externa sin desencadenar Safari o utilizando un navegador web interno como ChildBrowser.PhoneGap for iPhone: problema cargando URL externa
Estoy usando el proyecto de ejemplo PhoneGap iPad/iPhone y probé diferentes enfoques. En la función onBodyLoad() añadí:
window.location.href('http://www.wordreference.com');
pero esta línea se abre el enlace utilizando un nuevo Safari window.From ese momento no es posible volver a aparecer en PhoneGap
Posteriormente, probé con un AJAX solicitud de sustitución del contenido de la página utilizando document.write
function loadHTML(url, timeout) {
if (timeout == undefined)
timeout = 10000;
var req = new XMLHttpRequest();
var timer = setTimeout(function() {
try {
req.abort();
} catch(e) {}
navigator.notification.loadingStop();
},timeout);
req.onreadystatechange = function() {
if (req.readyState == 4) {
if (req.status < 300) {
clearTimeout(timer);
var html = req.responseText;
//just a debug print
alert(html);
document.write(html);
}
navigator.notification.loadingStop();
delete req;
}
};
req.open('GET', url, true);
req.send();
}
Ahora, llamando desde el interior onBodyLoad():
loadHTML('http://www.wordreference.com',10000);
Abre el enlace en el Contenedor PhoneGap, lo cual está bien. El punto es que quiero cargar una página dinámica escrito en Python
loadHTML('http://www.mysite.com/cgi-bin/index.py',10000)
En este punto Safari no se conoce, pero se muestra una página negro en el contenedor PhoneGap !! Quiero señalar que el enlace funciona perfectamente si lo escribo en Safari (no puedo informarlo por cuestiones de privacidad).
¿Podría ser un problema relacionado con algún tipo de permiso necesario?
he encontrado algo similar en relación con PhoneGap para BlackBerry y la solución propuesta fue la de modificar un archivo config.xml con
<access subdomains="true" uri="http://www.mysite.com/" />
He intentado añadir esta etiqueta directamente en mi index.html pero no lo hace trabajo.
¿Hay algún enfoque similar para el iPhone?
Muchas gracias
Excelente! Esta fue la respuesta correcta para mantener los comandos window.location.href = '' dentro de la aplicación. – davidethell
¿Cómo navegas de regreso a la aplicación después? –
Fantástico, gracias por esto. Tenga en cuenta que desde 1.6 necesita buscar en MainViewController.m este método. –