Este código debe ejecutarse después de incluir jQuery Core y antes de incluir jQuery Mobile. La razón es que para ejecutar el código, jQuery debe estar presente, pero este controlador de eventos debe estar vinculado antes de que jQuery Mobile se inicialice.
Por ejemplo:
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
$(document).bind("mobileinit", function()
{
if (navigator.userAgent.indexOf("Android") != -1)
{
$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';
}
});
</script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
Documentación: http://jquerymobile.com/demos/1.1.0/docs/api/globalconfig.html
Además, la UA oler no es necesario porque jQuery Mobile pone a prueba el dispositivo para 3D CSS transformar apoyo y sólo utiliza las transiciones agradables en los dispositivos que apoyalos. Esto se hace para usted en jQuery Mobile 1.1.0+, pero la transición de respaldo predeterminada es fade
, por lo que tendrá que cambiar ese valor predeterminado de todos modos.
Definición de transiciones de repliegue de apoyo no-3D
Por defecto, todas las transiciones de fundido, excepto requieren transformación 3D apoyo. Los dispositivos que carecen de soporte 3D recurrirán a una transición de fundido, independientemente de la transición especificada. Hacemos esto de forma proactiva. excluye las plataformas de bajo rendimiento como Android 2.x de las transiciones avanzadas y garantiza que tengan una experiencia fluida. Tenga en cuenta que hay plataformas como Android 3.0 que técnicamente admiten transformaciones 3D , pero aún tienen un bajo rendimiento de animación, por lo que esto no garantiza que cada navegador esté 100% libre de centelleo, pero tratamos de hacerlo de forma responsable con .
La transición de reserva para los navegadores que no admiten transformaciones 3D se puede configurar para cada tipo de transición, pero por defecto especificamos "fundido" como la alternativa. Por ejemplo, esto hará que la transición de repliegue para la transición deslizable a "ninguno":
$.mobile.transitionFallbacks.slideout = "none"
Fuente: http://jquerymobile.com/demos/1.1.0/docs/pages/page-transitions.html
Como observación general me di cuenta de que se pone la declaración if/then
interior el controlador de eventos, es mejor que lo ponga afuera, de modo que, si no es un dispositivo Android, el enlace/activación del evento nunca tiene que ocurrir.
Por ejemplo:
<script src="http://code.jquery.com/jquery-1.6.4.min.js"></script>
<script>
if (navigator.userAgent.indexOf("Android") != -1)
{
$(document).bind("mobileinit", function()
{
$.mobile.defaultPageTransition = 'none';
$.mobile.defaultDialogTransition = 'none';
});
}
</script>
<script src="http://code.jquery.com/mobile/1.1.0/jquery.mobile-1.1.0.min.js"></script>
Acabo de notar que estás usando jQuery Mobile 1.1.0 RC-1, realmente deberías actualizar a 1.1.0 Final: http://jquerymobile.com/download/ – Jasper