Foros del Web » Programando para Internet » Javascript »

javascript sitio para visitas virtuales

Estas en el tema de javascript sitio para visitas virtuales en el foro de Javascript en Foros del Web. Buenas; pido ayuda para lo siguiente: He creado una visita virtual que al ser cargado según que dispositivo enlaza a una carpeta distinta; actualmente en ...
  #1 (permalink)  
Antiguo 14/11/2012, 02:38
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
javascript sitio para visitas virtuales

Buenas; pido ayuda para lo siguiente:
He creado una visita virtual que al ser cargado según que dispositivo enlaza a una carpeta distinta; actualmente en el servidor se encuentra de esta manera:
index
carpeta flash
carpeta html5
carpeta movil (creada por mi manualmente)

en el primer index que me da el programa para hacer las visitas virtuales detecta si es flash o html5; en principio no tendría problema porque si se carga desde un smartphone android, teóricamente iría enlace a la carpeta flash por ejemplo y si es tipo ipad, iphone, etc . iría a la carpeta html5. Pongo el index ahora:

<html>
<head>
<META NAME="GENERATOR" Content="xxxxxxxx">
<title>Bienvenidos</title>
<script type="text/javascript">

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxxxx-x']);
_gaq.push(['_trackPageview']);

(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();

</script>
</head>
<body>
<script type="text/javascript">
var _url="";
var _bi=window.navigator.userAgent.toLowerCase();
if(_bi.indexOf("safari")>0)_url="mobile/index.html";
if(_bi.indexOf("iphone")>0 || _bi.indexOf("ipad")>0 || _bi.indexOf("ipod")>0) _url="html5/sample1.html";
else _url="flash/index.html";
window.location.href=_url;
</script>
</body>
</html>


El problema es que como la última actualización no tiene actualizado el flash nuevo, no se ve en los smartphone android; esto se resuelve creando una visita especial para movil con una versión más antigua del programa para crear visitas virtuales que tiene una versión mas antigua de flash que sí reconoce los smartphone android.

Bueno lo que necesito es saber que javascript tengo que crear para que cuando detecte un smartphone android redireccione a la carpeta movil.
He probado a crear uno que detecte la resolución más pequeña de la pantalla donde se va a ver y que claro al detectar la pantalla más chica se redireccione. No sé si es la orientación mejor del problema.
Otra cosa es ¿en qué index lo coloco? es decir en el principal donde están las otras carpetas o en el index de la carpeta flash, ya que cuando es un iphone, ipad si va bien el programa.
Es decir, el primer index detecta si es flash o html5 y si es flash va al index de la carpeta flash para seguido detecta si es una pantalla de ordendor o bien una pantalla de resolución más pequeña y por lo tanto que redireccione a la carpeta movil.

Perdón por enrollarme tanto; pero he querido dar todos los detalles.
¿ que código javascript tengo que poner y donde?

gracias
  #2 (permalink)  
Antiguo 14/11/2012, 13:56
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: javascript sitio para visitas virtuales

Por lo que veo

si el cliente usa safari mandas a mobile/index.html
Código Javascript:
Ver original
  1. if(_bi.indexOf("safari")>0)_url="mobile/index.html";
si usa un ipad o un iphone o un ipod lo mandas a html5/sample1.html
Código Javascript:
Ver original
  1. if(_bi.indexOf("iphone")>0 || _bi.indexOf("ipad")>0 || _bi.indexOf("ipod")>0) _url="html5/sample1.html";
y en qualquier otro caso a flash/index.html
(diria que esta anula la primera puesto que aun que usen safari si no son un gatchet appel vas a dirigirlos a esta ultima)
Código Javascript:
Ver original
  1. else _url="flash/index.html";

Si quieres diferenciar entre los del ultimo caso podrias hacer lo siguiente

Código Javascript:
Ver original
  1. if(_bi.indexOf("safari")>0){
  2.        _url="mobile/index.html";
  3. }
  4.  
  5. if(_bi.indexOf("iphone")>0
  6.    || _bi.indexOf("ipad")>0
  7.    || _bi.indexOf("ipod")>0){
  8.             _url="html5/sample1.html";
  9.    }else{ //cualquier cosa que no sea un iphone o ipad o ipod aun que use safari
  10.        if(...condicion del tamaño de la pantalla...){
  11.            _url= ....la url para los que cumplen la condicón...
  12.        }else{
  13.           _url="flash/index.html";  // si es la url para los que no la cumplen
  14.        }
  15.    }

HTML5 creo que va a ser el standar aqui tienes una tabla de compatibilidades http://mobilehtml5.org/
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Última edición por quimfv; 14/11/2012 a las 14:07
  #3 (permalink)  
Antiguo 15/11/2012, 00:35
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: javascript sitio para visitas virtuales

gracias por responder; soy nulo en javascript; prometo arreglar eso.
en la linea 9 que me has puesto, que puedo poner después de :

}else{


en linea 11, podrías ponerme la sentencia; es para movil android.

y en la linea 12, después de _url=
supongo que tengo que poner esto: "mobile/index.html";
ya que tengo esta carpeta con las imagenes redimencionadas a menor tamaño.

Sé que haciéndome tu el trabajo no es la manera de aprender, pero la verdad es que me urge.
gracias
  #4 (permalink)  
Antiguo 15/11/2012, 01:58
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: javascript sitio para visitas virtuales

Si la logica de los condicionales (if) es la que necesitas solo tienes que agregar la condición en la linea 10

Cita:
...detecte la resolución más pequeña de la pantalla donde se va a ver...
y la dirección en la linea 11.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #5 (permalink)  
Antiguo 15/11/2012, 02:20
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: javascript sitio para visitas virtuales

Podría ser entonces esto correcto?




if(_bi.indexOf("safari")>0){
_url="mobile/index.html";
}

if(_bi.indexOf("iphone")>0
|| _bi.indexOf("ipad")>0
|| _bi.indexOf("ipod")>0){
_url="html5/sample1.html";
}else{
if (screen.width<800) {
_url= "mobile/index.html"
}else{
_url="flash/index.html";
}
}


estaría bien asi?
gracias
  #6 (permalink)  
Antiguo 15/11/2012, 08:00
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: javascript sitio para visitas virtuales

Si ... lo único es que el primer condicional no sirve de nada es decir


if(_bi.indexOf("iphone")>0
|| _bi.indexOf("ipad")>0
|| _bi.indexOf("ipod")>0){
_url="html5/sample1.html";
}else{
if (screen.width<800) {
_url= "mobile/index.html"
}else{
_url="flash/index.html";
}
}

sin las tres primeras lineas hace lo mismo....

Analiza el significado y lo entenderás, estas dando un valor a la variable _url luego si primero le das "mobile/index.html" por que usan safari pero luego si no usan uno de los gatchets y la pantalla es mas grande que 800 le pones "flash/index.html" los usuarios de safari con pantallas grandes van a ver "flash/index.html".... solo tu puedes saber si es lo que quieres.
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.
  #7 (permalink)  
Antiguo 15/11/2012, 14:30
 
Fecha de Ingreso: mayo-2008
Mensajes: 15
Antigüedad: 15 años, 11 meses
Puntos: 0
Respuesta: javascript sitio para visitas virtuales

entiendo la lógica; mañana lo probaré; y todo es porque el programa que hace las visitas virtuales no es capaz de general para movil android la vista virtual por tema de flash porque l hace en una version flash no compatible y eso que en la versión anterior del programa este no tenía ningun problema; y nada, no le dan ninguna solución depues de gastarme 600 € en el
mañana pruebo gracias.
  #8 (permalink)  
Antiguo 15/11/2012, 15:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Sabadell
Mensajes: 4.897
Antigüedad: 16 años, 1 mes
Puntos: 574
Respuesta: javascript sitio para visitas virtuales

Es el problema de las cosas propietarias .... insisto HTML5 creo que va a ser el standar aqui tienes una tabla de compatibilidades http://mobilehtml5.org/
__________________
Quim
--------------------------------------------------
Ayudar a ayudar es una buena práctica!!! Y da buenos resultados.

Etiquetas: html, js, virtuales
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:33.