Foros del Web » Programando para Internet » Javascript »

Scripts según navegador

Estas en el tema de Scripts según navegador en el foro de Javascript en Foros del Web. Hola! vereis, tengo un problema con un script q tira de jQuery y Safari. Es un script que sirve para hacer uno de esos scroll ...
  #1 (permalink)  
Antiguo 10/09/2008, 07:54
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Scripts según navegador

Hola!

vereis, tengo un problema con un script q tira de jQuery y Safari. Es un script que sirve para hacer uno de esos scroll suaves (muy sencillo). El caso es q en FF y IE funciona perfectamente, pero safari manipula las anclas (el script las usa para calcular el scroll) de forma normal, es decir, que no genera el efecto de suavizado.

El caso es q con el smoothscroll sí que funciona, pero si incluyo todos los js (jquery, jquery.ScrollTo, smoothscroll) obviamente no funciona correctamente, de hecho al principio tenía problemas al utilizar mootools junto a jQuery. Por eso decidí tirar solo de este último.

Bueno, lo que quiero es que al cargar la página una función detecte si se trata de safari y de ser así que cargue smoothscroll.js en lugar de jQuery (no sé si se puede hacer con un import o algo así). Os adjunto mi código, el que funciona perfectamente en FF e IE:

<script type="text/javascript" src="js/jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="js/jquery.scrollTo-1.3.3-min.js"></script>
<script type="text/javascript" src="js/jquery.localscroll-1.2.6-min.js"></script>
<script type="text/javascript" src="js/jScroll.js"></script>

Ahora lo que quiero es que si el usuario usa Safari, se incluya en lugar de esos scripts este otro:

<script type="text/javascript" src="js/smooth.pack.js"></script> (es un scroll similar, aunq el efecto de suavizado no es el mismo y tampoco se puede parametrizar como en el caso del realizado con jQuery)

Vamos, que no sé como se debería de realizar esto. Así que si me podeis echar un cable os lo agradecería enormemente, pues es una locura conseguir que funcione correctamente en todos los brows.

Muchas gracias por adelantado, porque siempre me echais un cable que me viene genial!
  #2 (permalink)  
Antiguo 10/09/2008, 08:02
Avatar de Legoltaz  
Fecha de Ingreso: agosto-2008
Mensajes: 325
Antigüedad: 15 años, 8 meses
Puntos: 6
Respuesta: Scripts según navegador

Código PHP:
<script language="JavaScript" type="text/javascript">
var 
nav navigator.appName;
if(
nav == "Opera"){
<!-- 
instrucciones si el navegador es Opera -->
}
else if(
nav == "Microsoft Internet Explorer"){
<!-- 
instrucciones si el navegador es IE -->
}
else{
<!-- 
instrucciones si el navegador no es Opera ni IE -->
}
</script> 
  #3 (permalink)  
Antiguo 10/09/2008, 08:15
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Scripts según navegador

Hola Legolatz. EN primer lugar agradecerte tu respuesta tan rápida y sencilla,
por otro lado decirte que mi torpeza en temas de programación no ayudan nada
y que bueno, mi aplicación de tu código ha sido la siguiente sin ningún avance:

<script language="JavaScript" type="text/javascript">
var nav = navigator.appName;

scriptSafari="<script language='javascript1.2' src='js/smooth.pack.js'> <\/script>"
scriptOtros="<script language='javascript1.2' src='js/jquery-1.2.6.min.js'> <\/script>
<script language='javascript1.2' src='js/jquery.scrollTo-1.3.3-min.js'> <\/script>
<script language='javascript1.2' src='js/jquery.localscroll-1.2.6-min.js'> <\/script>
<script language='javascript1.2' src='js/jScroll.js'> <\/script>"

if(nav == "Safari"){
{document.write(scriptSafari)}
}
else{
{document.write(scriptOtros)}
}
</script>


Como incluyo mis scripts dentro del if?

Creo que ni la sintaxis del código es la adecuanda. Además, no sé si el nombre por el que appName recoge es el de Safari, como puedo saber esto? (para otras ocasiones)

EN cualquier caso, muchísimas gracias.

Última edición por MadDunDee; 10/09/2008 a las 08:36
  #4 (permalink)  
Antiguo 10/09/2008, 08:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Scripts según navegador

también he probado así:

<script language="JavaScript" type="text/javascript">
var nav = navigator.appName;

if(nav == "Safari"){
document.write("<script language='javascript1.2' src='js/smooth.pack.js'> <\/script>");
}
else{
document.write("<script language='javascript1.2' src='js/jquery-1.2.6.min.js'> <\/script>");
document.write("<script language='javascript1.2' src='js/jquery.scrollTo-1.3.3-min.jss'> <\/script>");
document.write("<script language='javascript1.2' src='js/jquery.localscroll-1.2.6-min.js'> <\/script>");
document.write("<script language='javascript1.2' src='js/jScroll.js'> <\/script>");
}
</script>
  #5 (permalink)  
Antiguo 10/09/2008, 08:57
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Scripts según navegador

Cita:
Iniciado por MadDunDee Ver Mensaje
también he probado así:

<script language="JavaScript" type="text/javascript">
var nav = navigator.appName;

if(nav == "Safari"){
document.write("<script language='javascript1.2' src='js/smooth.pack.js'> <\/script>");
}
else{
document.write("<script language='javascript1.2' src='js/jquery-1.2.6.min.js'> <\/script>");
document.write("<script language='javascript1.2' src='js/jquery.scrollTo-1.3.3-min.jss'> <\/script>");
document.write("<script language='javascript1.2' src='js/jquery.localscroll-1.2.6-min.js'> <\/script>");
document.write("<script language='javascript1.2' src='js/jScroll.js'> <\/script>");
}
</script>

Para realizar esto puedes usar este método:

Código PHP:

if( navigator.userAgent.match"Safari" ) )
 
//código para safar 
Saludos
  #6 (permalink)  
Antiguo 10/09/2008, 09:14
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Scripts según navegador

Hola!

perdonar mi ignorancia, pero tengo algunas dudas.

Veamos, lo primero es que cuando meteis el código en el foro me aparece como "cita" de codigo en PHP, imagino que será un standar pq no me encaja con la sintaxis de este. Así que imagino q hablamos siempre de JS.

Por otra parte en esto último que me indicas, las instrucciones para safari serían correctas como están planteadas arriba en mi anterior post? Esq no consigo hacerlo funcionar de ninguna manera. Sigo probando...
  #7 (permalink)  
Antiguo 10/09/2008, 09:19
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Scripts según navegador

Hola. se pone dentro de una caja de código PHP para que reconizca la sintaxis de un lenguaje de porgramación.


Lo que haces es poner el condicional que busca dentro del userAgent del navegador la palabra "safari" y si es así quiere decir que el navegador que accede en ese momento es precisamente Safari.
Código PHP:

if( navigator.userAgent.match"Safari" ) ) 
document.write("<script language='javascript1.2' src='js/smooth.pack.js'> <\/script>"); 
  #8 (permalink)  
Antiguo 10/09/2008, 09:22
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Scripts según navegador

A mi parecer es mejor incluir el *.js de esta manera (By Panino5001 ).
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 10/09/2008, 09:25
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Scripts según navegador

jajaj si. precisamente yo iba a citar este (By derkenuke)
  #10 (permalink)  
Antiguo 10/09/2008, 09:39
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Scripts según navegador

JSEROS, he probado como dices y ahora sí que parece que funciona. De hecho mi problema inicial era con Safari y ahora este funciona de maravilla. Mi problema en este momento se ha invertido, IE y FF no funcionan correctamente. Voy a trastear un poquito a ver si lo consigo solucionar.

Muchas gracias a los tres por vuestra ayuda. David, he echado un vistazo a tu codigo y lo guardo para futuras ocasiones, en este caso me parece más sencillo el planteamiento de jseros.

Un saludo!!
  #11 (permalink)  
Antiguo 10/09/2008, 09:51
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 6 meses
Puntos: 3
Respuesta: Scripts según navegador

No hay emoticón que exprese mi alegría por haber podido solucionar finalmente este problema que me lleva loco toda la tarde sin poder avanzar en mi trabajo.

Así q os mando un abrazo y si estais por Madrid os invito a unas cañas!!

Ole, ole y ole! sois los mejores!!
  #12 (permalink)  
Antiguo 10/09/2008, 10:04
Avatar de jseros  
Fecha de Ingreso: agosto-2008
Ubicación: Bogotá
Mensajes: 218
Antigüedad: 15 años, 8 meses
Puntos: 18
Respuesta: Scripts según navegador

Me alegra que hayas podido solucionar tu problema...ya sabes, para cualquier otro problema acá vamos a estar, ya sea yo o cualquiera de las grandiosas personas y profesionales de este foro, la verdad yo me considero un novato al compararme con ellos.

Exitos!!!
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 16:53.