Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/10/2013, 12:08
Madh
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 6 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