Me gustaría tomar un elemento de una página HTML remota. Como solicito datos de un dominio diferente, estoy usando el siguiente código para agregar la fuente como un script. Sí, muy poco fiable.

<script type="text/javascript">
    var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script.setAttribute('src', 'http://remoteDomain.com/page.html');
    document.getElementsByTagName('head')[0].appendChild(script);
</script>

El código anterior recupera y agrega toda la página al encabezado de mi documento. Parece funcionar bien. Sin embargo, ahora me gustaría poder tomar un elemento por ID, o incluso regex de esta fuente.

¿Se puede hacer esto?

Soy consciente de que el código anterior está sucio, por lo que me complacerá recibir cualquier sugerencia para limpiarlo.

2
SpaghettiMonster 26 may. 2011 a las 06:40

3 respuestas

La mejor respuesta

De hecho, muy dudoso ... Pero hay técnicas AJAX de dominio cruzado que puede usar. Ayuda aquí: http://usejquery.com/posts/9 / the-jquery-cross-domain-ajax-guide

3
Claudiu 26 may. 2011 a las 02:45

El código anterior recupera y agrega toda la página al encabezado de mi documento.

Realmente no lo hace, solo crea un elemento script del cual sus src apuntan allí.

Parece que está intentando moverse por Política del mismo origen.

¿Se puede usar un proxy del lado del servidor?

0
alex 26 may. 2011 a las 02:43

Los navegadores hacen todo lo posible para evitar que esto se haga en el lado del cliente, a menos que el sitio que intentas leer explícitamente opte.

De lo contrario, cualquier página web aleatoria que visite podría leer información de su cuenta bancaria, por ejemplo.

0
Boris Zbarsky 26 may. 2011 a las 06:47