google api - georreferenciación - Cómo funciona la API de JavaScript de Google para evitar la seguridad entre dominios en AJAX
google maps api key (5)
¿Cómo hace la API de Google para que las solicitudes de dominios cruzados vuelvan a Google cuando está en su sitio web?
AFAIK usan IFRAMEs.
Lo solucionan inyectando dinámicamente etiquetas de script en el encabezado del documento. El javascript que se envía a través de esta inyección tiene una función de devolución de llamada que le dice al script que se ejecuta en la página que ha cargado y la carga (datos).
La secuencia de comandos puede eliminar la etiqueta de script dinámicamente inyectada y continuar.
Otra posibilidad es utilizar el transporte window.name
como se describe para el marco dojo aquí
La respuesta aceptada es incorrecta. Ben es correcto. A continuación se muestra el nodo iframe realmente sacado de una página utilizando el API JavaScript de Google API .
<iframe name="oauth2relay678" id="oauth2relay678"
src="https://accounts.google.com/o/oauth2/postmessageRelay?
parent=https%3A%2F%2Fwww.example.com.au#rpctoken=12345&forcesecure=1"
style="width: 1px; height: 1px; position: absolute; left: -100px;">
</iframe>
El resumen básico de cómo funciona esto está aquí: http://ternarylabs.com/2011/03/27/secure-cross-domain-iframe-communication/ . En los navegadores modernos utilizan HTML postMessage para lograr la comunicación, y en los navegadores más antiguos, usan un ordenado hack de combinación de múltiples iframes, urlhash y lectura. Ternary Labs ha creado una biblioteca que abstrae todas las cosas raras, esencialmente dándole postMessage en todos los navegadores.
Algún día construiré en la cima de esta biblioteca para simplificar las API REST entre dominios ...
Editar: Ese día ha llegado y XDomain está aquí - https://github.com/jpillora/xdomain
Parece que los mapas de visualización de Google usan la etiqueta <img> Supongo que usan la biblioteca JavaScrit para calcular todas las coordenadas y otros parámetros que necesita la url de src, luego insertan las etiquetas <img> (junto con un millón de otras etiquetas) en tu DOM.
El mapa completo está formado por varios paneles como el HTML a continuación:
<img src = "https://mts1.google.com/vt/lyrs=m@248102691&hl=en&src=app&x=32741&s=&y=21991&z=16&scale=1.100000023841858&s=Galile" class = "css-3d-layer" style = "posición: absoluta; izquierda: 573px; superior: 266px; ancho: 128px; altura: 128px; borde: 0px; relleno: 0px; margen: 0px;">
(Puede pegar este HTML en su propia página web para ver el resultado)
Entonces Google Maps NO usa AJAX ni nada para obtener sus mapas, solo imágenes simples, creadas sobre la marcha. Así que no hay problemas de Cross Domain de los que preocuparse ...