Esta solución al Ajax Cross Domain representa, para mí, uno de los mejores descubrimientos en materia de programación Javascript de los últimos tiempos y es, al mismo tiempo, una de las peores vulnerabilidades encontradas a TODOS los navegadores del momento.
Por cuestiones de seguridad, no se puede hacer CrossDomain utilizando ajax, sin embargo, con esta librería ahora es posible. Simplemente usa un llamado @import url() CSS con la URL que necesita, la librería se encarga de encodearlo de manera tal que el navegador interprete que es una inofensiva URL de un CSS el que se está solicitando en otro dominio. Pero lo que hace en verdad es solicitar una URl cualquiera, obteniendo su información.
Como esto es totalmente válido, me refiero a incluir, en nuestro sitio, un CSS que está hosteado en otro dominio, el navegador no se da ni por enterado que en realidad estamos haciendo CrossDomain.
Utilizar la librería es realmente MUY fácil, simplemente incluimos la librería y después solo resta llamar el método con la función callback que necesitemos:
CSSHttpRequest.get(
“http://www.nb.io/hacks/csshttprequest/hello-world/”,
function(response) { alert(response); }
);
Hasta el momento no había ninguna opción independiente de alguna ejecución en el sevidor, como lo es Ajax Cross Domain. Ahora todo depende de una sola librería JS open source.
Estos tipos son unos genios. Me pregunto si esto servirá para que los navegadores validen de forma más estricta lo que se está pasando por el @import o si abrirán una puerta legal al CrossDomain.
Magnífico.