Hace unas semanas, durante las vacaciones de navidad, resulta me encontré en tu función el código en PHP para obtener el Page Rank de Google de una página cualquiera (estará contento con los keywords del link).
Ni corto ni perezoso, aún a sabiendas que habría algun problema me dije:
“tienes que pasar ese código a javascript y poner un enlace en la web. Seguro que atraes más visitas”.
¿Que acabó pasando? Que tengo el código pasado a javascript, hace la petición a Google, Google devuelve el page rank pero oh magia!! la cadena devuelta hay que parsearla un poco, y no puedo ni leerla, ni parsearla ni manipularla de ninguna de las maneras, y he intentado muchas cosas, pero básicamente se trata de políticas de seguridad en los navegadores (que comprendo perfectamente) y no hay nada que hacer (ohhhhhhhhhhhh).
Y es que se puede hacer una petición para cargar contenidos html de otros dominios en un iframe de nuestra página html, incluso usando AJAX (vease haciendo una petición XMLHttpRequest o usando un ActiveXObject(‘Microsoft.XMLHTTP’), según convenga), sin embargo o puede acceder a ellos de ninguna de las maneras.
La verdad que investigue mucho sobre el tema del cross-domain, y aprendí mucho en el camino, lamentablemente la conclusion fue clara, no intentes nunca con javascript integrar contenidos cross-domain en tu web, porque no vas a poder. Es una putada, pero es así. Se puede conseguir usando un “proxy” en tu servidor, o bien usando flash, pero no era mi objetivo.
Una vez llegados a esta conclusión, en el próximo post os pongo el código para obtener el PageRank de Google usando sólo javascript. Si señores, se puede decir que “lo he conseguido” (de una forma muy poco elegante, y que dará que hablar, todo sea dicho), pero saca el numerito de PageRank
Acabo de probar el código en Opera/Safari/FF3/IE7 y parece que funciona el truco en todos. Vease el siguiente screenshot:

Ale, ahora que ya se que funciona, os dejo con la intriga. Mañana más ;p
English
21/01/2009 at 2:14 pm Permalink
Solo para que conste, con flash tampoco se puede hacer un request cross domain, el flash player tiene un póliza de seguridad, sin embargo existe una forma más elegante de pasar por el, el crossdomain.xml
21/01/2009 at 3:23 pm Permalink
Ala, a esperarnos hasta mañana…
22/01/2009 at 1:34 am Permalink
Hector, sobre Flash habia leido algo del crossdomain.xml, y el concepto final es que había una forma, aunque para ser sinceros, sólo lo he leido y no lo he probado por mi mismo, así que no se hasta que punto es o no cierto, ni bajo que condiciones funciona. También debo reconocer que en flash estoy bastante verde.