Foros del Web » Programando para Internet » Javascript »

Obtener un elemento de una pagina externa.

Estas en el tema de Obtener un elemento de una pagina externa. en el foro de Javascript en Foros del Web. Hola. Me gustaria extraer un elemento de una pagina externa, pero me he encontrado con que en principio no es posible debido que produce una ...
  #1 (permalink)  
Antiguo 30/10/2013, 12:08
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 5 meses
Puntos: 5
Obtener un elemento de una pagina externa.

Hola. Me gustaria extraer un elemento de una pagina externa, pero me he encontrado con que en principio no es posible debido que produce una violacion por la medida "Same Origin Policy". Sin embargo, buscando informacion de como solucionar dicho problema, me encontre http://stackoverflow.com/questions/5059302/cannot-load-an-external-page-with-jquery-load-into-a-div-in-my-page con que existe un un plugin (https://github.com/padolsey/jQuery-Plugins/blob/master/cross-domain-ajax/jquery.xdomainajax.js). Sin embargo, he estado intentando trabajar con el, pero sigue sin salirme lo que quiero.

1) ¿Donde va exactamente el plugin? Yo estoy trabajando sobre un script de greasemonkey, por lo que ahora mismo el codigo del plugin lo tengo en el propio script. Pero no se si funciona correctamente asi, y deberia añadirlo al documento html a traves de un .append() por ejemplo.

2) Tengo hecho este ejemplo: http://jsfiddle.net/EJBsL/1/

Codigo de la pagina externa:

Código:
<head> … </head>
<body>
    <img class="decoded" src="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png" 
alt="http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png"></img>
</body>
Y esto mi funcion .ajax():

Código:
    
$.ajax({
       url: 'http://cdn.sstatic.net/stackoverflow/img/apple-touch-icon.png',
       type: 'GET', 
       success: function(result) {

        var html = jQuery('<img>').html(result);
        var codeclass = html.find('.decoded').text();

        alert(codeclass);           
        alert(html.find(".decoded").attr("src"));
        alert(html.find(".decoded").html());
        }
     });
Mi intencion es conseguir el codigo de la imagen seleccionandolo mediante su atributo de clase, y mostrarlo por pantalla. Sin embargo lo unico que consigo es que muestre: vacio, undefined u [object] [object].

La verdad es que no se que estoy haciendo mal. Llevo ya dos dias con este problema, y aunque encuentro neuvas soluciones ninguna me ha solventado mi problema todavia.

¿Alguna idea? Gracias
  #2 (permalink)  
Antiguo 30/10/2013, 12:44
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Obtener un elemento de una pagina externa.

No entiendo muy bien, si quieres coger la imagen no es necesario que hagas una petición ajax, cargas la URL en el src de la imagen y a correr.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan
  #3 (permalink)  
Antiguo 30/10/2013, 13:07
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 5 meses
Puntos: 5
Respuesta: Obtener un elemento de una pagina externa.

Jaja, no es eso, es solamente un ejemplo de como obtener esa imagen mediante una llamada con ajax.

Me interesa, porque estoy trabajando en un script que lea el contenido de un enlace de pastebin, como por ejemplo este: http://pastebin.com/embed_js.php?i=sy9gt3FR para luego ir mostrando dichas palabras/lineas en la pagina que quiero modificar.
  #4 (permalink)  
Antiguo 30/10/2013, 13:35
Avatar de ZiTAL  
Fecha de Ingreso: marzo-2004
Ubicación: Bermio (Bizkaia)
Mensajes: 1.545
Antigüedad: 20 años, 1 mes
Puntos: 62
Respuesta: Obtener un elemento de una pagina externa.

Cargar una URL externa mediante ajax, va a ser que no. Lo que puedes hacer es cargar el contenido en un iframe oculto y buscarlo ahí. De todas formas es mejor obtener la URL en tu propio servidor por ejemplo mediante curl y coger esa parte que te interesa con xpath.
__________________
http://zital.no-ip.org
____________________

Euskerie ahuen eta bijotzan

Etiquetas: ajax, elemento, funcion, html, jquery, js
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 21:46.