Foros del Web » Programando para Internet » Javascript » Frameworks JS »

$(this).attr("src") me devuelve enlaces locales

Estas en el tema de $(this).attr("src") me devuelve enlaces locales en el foro de Frameworks JS en Foros del Web. Tengo una pagina con imagenes de otro servidor. Sin embargo, cuando hago esto me devuelve un enlace local (inexistente): Cita: IMGsrc = $(this).attr("src"); alert(IMGsrc); Mi ...
  #1 (permalink)  
Antiguo 08/07/2010, 14:22
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 11 años, 8 meses
Puntos: 101
$(this).attr("src") me devuelve enlaces locales

Tengo una pagina con imagenes de otro servidor. Sin embargo, cuando hago esto me devuelve un enlace local (inexistente):

Cita:
IMGsrc = $(this).attr("src");
alert(IMGsrc);
Mi idea es que al hacer click en una imagen pueda redirigir la pagina a esa imagen:

Cita:
$(this).click(function(){
location.href = "IMGsrc";

});
Pero me lleva a una imagen inexistente, en servidor local. Por que? Será cuestion del navegador, no? Estoy en Opera.
  #2 (permalink)  
Antiguo 08/07/2010, 14:30
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 11 años, 8 meses
Puntos: 101
Respuesta: $(this).attr("src") me devuelve enlaces locales

Muy raro. El problema está en referenciar el enlace desde una variable:

Estos vuelven enlaces falsos:

Cita:
IMGsrc = $(this).attr("src");
alert(IMGsrc);

IMGsrc = this.getAttribute("src");
alert(IMGsrc);
En cambio estos devuelven los verdaderos, completos:

Cita:
alert($(this).attr("src"));
alert(this.getAttribute("src"));
  #3 (permalink)  
Antiguo 08/07/2010, 16:41
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 10 años, 11 meses
Puntos: 65
Respuesta: $(this).attr("src") me devuelve enlaces locales

a mi me devuelve bien con firefox, ie y opera
  #4 (permalink)  
Antiguo 08/07/2010, 16:48
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 11 años, 8 meses
Puntos: 101
Respuesta: $(this).attr("src") me devuelve enlaces locales

Lo probaste con imagenes externas? Este sería mi script completo, que no funcionaba:
Cita:
<img src="http://www.artofillusion.com.ar/img_al_foro/ejemplos/esfera4.jpg" alt="" />

$("img").each(function(i){

IMGsrc = $(this).attr("src");
alert(IMGsrc);

})
Y mirá que también probé en firefox y era lo mismo. Ponía mi servidor local+el nombre de la imagen, cosa que no existía.
  #5 (permalink)  
Antiguo 08/07/2010, 17:04
 
Fecha de Ingreso: diciembre-2009
Ubicación: Misiones
Mensajes: 867
Antigüedad: 10 años, 11 meses
Puntos: 65
Respuesta: $(this).attr("src") me devuelve enlaces locales

si, y con eso también funciona jeje

no sé que te puede andar pasando
  #6 (permalink)  
Antiguo 09/07/2010, 08:54
Avatar de chichote
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Santiago - Chile
Mensajes: 1.868
Antigüedad: 15 años, 11 meses
Puntos: 145
Respuesta: $(this).attr("src") me devuelve enlaces locales

como parche se me ocurre q le des el mismo valor a rel, alt, o title, etc y recuperes ese. aunque a mi = me funciono.

no será que estas trabajando con otra libreria aparte de jquery y te este dando algun conflicto?

saludos.
__________________
http://chicho.ninja yiaaaa
  #7 (permalink)  
Antiguo 09/07/2010, 10:57
Avatar de mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 11 años, 8 meses
Puntos: 101
Respuesta: $(this).attr("src") me devuelve enlaces locales

Gracias por probarlo.

La verdad no se por qué me daba ese error al usar variables. Ahora ya las descarté y mi evento quedó así:
Cita:
$("img").each(function(i){

//only process the foreign ones
IMGsrc = $(this).attr("src");
if (IMGsrc.search("http") != -1)
{

// check the width of the image
if ($(this).width() > 780) {

$(this).addClass("resized"); // apply resized class

$(this).click(function(){
location.href = this.getAttribute("src");
});
}

}
});

Etiquetas: enlaces, locales
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 19:30.