CORS + Android Webview, no funciona en el dispositivo (pero sí en el emulador)

Tengo un programa de teléfono HelloWorld de trabajo con jQuery móvil rociado en como se describe aquí: http://jquerymobile.com/demos/1.1.0/docs/about/getting-started.html . He añadido un pequeño javascript a esto para experimentar con el Compartimiento de Recursos de Origen Cruzado:

<script> $(document).bind("pageinit", function() { $.support.cors = true; $.mobile.allowCrossDomainPages = true; $.mobile.changePage("http://jquery.com"); }); </script> 

Esto funciona muy bien en el emulador (2.3), jquery.com se carga sobre la demo móvil jquery. Sin embargo, en los actuales dispositivos Android 2.3 (T-Mobile G2 ejecutando Cyanogen, Galaxy SII, Galaxy Player) la llamada changePage () no hace nada.

Pruebe mobileinit lugar de pageinit . Debido a que el evento se vincula a jQuery normal y para jQuery móvil el evento de inicialización es mobileinit.

The $.mobile.allowCrossDomainPages option must be set before any cross-domain request is made so we recommend wrapping this in a mobileinit handler .

Llamar a la función $.mobile.changePage() dentro de la función pageinit suena como una mala idea porque eso debería causar un bucle infinito. La función $.mobile.changePage() inicializa la página especificada como el parámetro de target , de modo que cada vez que llame a $.mobile.changePage() también dispara un evento pageinit .

Probablemente quiera enlazar con el evento mobileinit para sobrescribir la variable $.support.cors antes de que jQuery Mobile se inicialice:

 <script src="jquery.js"></script> <script> $(document).bind("mobileinit", function() { $.support.cors = true; $.mobile.allowCrossDomainPages = true; $.mobile.changePage("http://jquery.com"); }); </script> <script src="jquery-mobile.js"></script> 

Documentación relacionada:

  • Impresión desde la web en Android
  • PhoneGap + JQuery Mobile + Google Maps v3: mapa muestra azulejos de la parte superior izquierda?
  • PhoneGap - Android - deslizar la navegación en el teléfono
  • El enfoque no funciona en android
  • jquery mobile events en android contra iphone
  • Deslice con jQuery Mobile 1.2, PhoneGap 2.1 y Android 4.0.4 no funcionan correctamente
  • Desginación de una aplicación móvil para una aplicación Spring MVC existente (Spring Mobile o Phonegap)
  • Pinch zoom in, zoom out - javascript / jquery / jquery eventos móviles para la web en la plataforma android?
  • Incluya algunas páginas en una página en JQuery móvil
  • Descargar archivos y almacenarlos localmente con Phonegap / jQuery Mobile Android y iOS Apps
  • Convierta la aplicación móvil jQuery a apk
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.