2012-05-26 16 views
11

visualización de una imagen desde un servidor remoto:HTML/Javascript - img src remoto con automática http/https prefijo

<img src="http://remotehost/path/to/a.png" alt="Image A" /> 

Sin embargo, si se accede a la página actual a través de HTTPS, la vinculación de las imágenes a través de HTTP sin cifrar producirá la seguridad advertencias Si bien podría simplemente especificar https: // independientemente del protocolo actual, hacerlo sería un desperdicio ya que realmente no me importa asegurar la transmisión de esta imagen a menos que sea necesario (cuando el visitante está usando HTTPS).

¿Es posible especificar una URL para el atributo src de la etiqueta img de modo que el protocolo en la URL se elija dinámicamente en función del protocolo utilizado para acceder a la página actual? Para ilustrar lo que quiero decir:

<img src="(JavaScript's window.location.protocol)//remotehost/path/to/a.png" alt="Image A" /> 

¿Qué pasa si utilizamos JavaScript? Podríamos darle una identificación a la etiqueta img para que podamos ubicarla y configurar el src para que comience con window.location.protocol.

También podría utilizar base64 para eludir el problema HTTP/HTTPS por completo, pero esto no es ideal para lo que estoy haciendo.

¿Qué pueden recomendar?

Respuesta

21

Just Do:

<img src="//remotehost/path/to/a.png" alt="Image A" /> 
+3

Para elaborar un poco. Paul Irish escribió un buen [artículo] (http://paulirish.com/2010/the-protocol-relative-url/) sobre esto. – Matijs

+0

muy útil ans. – gdmanandamohon

0

si el archivo está en LAN necesita utilizar protocolo file: // añadir 5 barra antes camino para que mi nombre del servidor es tan athensserverf://///athensserver/ (cualquier cosa que compartían aquí)

file://///athensserver/athens/0/e1.png"