2012-05-26 9 views
11

ein Bild von einem entfernten Server angezeigt:HTML/JavaScript - Fern img src mit automatischer http/https-Präfix

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

Wenn jedoch die aktuelle Seite über HTTPS zugegriffen wird, Verknüpfen von Bildern über unverschlüsselte HTTP wird die Sicherheit ergibt Warnungen. Während ich nur https angeben könnte: // unabhängig vom aktuellen Protokoll, wäre damit verschwenderisch, da ich mich nicht wirklich um die Übertragung dieses Bildes zu sichern, wenn es notwendig ist (wenn der Besucher HTTPS verwendet).

Ist es möglich, eine URL für das src-Attribut des img-Tag angeben, so dass das Protokoll in der URL dynamisch die aktuelle Seite auf dem Protokoll basiert auf verwendet gewählt zugreifen? Um zu veranschaulichen, was ich meine:

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

Was ist, wenn wir JavaScript verwenden? Wir könnten dem img-Tag eine ID geben, damit wir sie finden können und den src so einstellen, dass er mit window.location.protocol beginnt.

Könnte auch base64 verwenden Sie das HTTP/HTTPS-Problem vollständig zu umgehen, aber das ist nicht ideal für das, was ich tue.

Was kann euch empfehlen?

Antwort

21

Just do:

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

Um ein bisschen zu erarbeiten. Paul Irish schrieb einen guten [Artikel] (http://paulirish.com/2010/the-protocol-relative-url/) zu diesem Thema. – Matijs

+0

sehr hilfreich ans. – gdmanandamohon

0

wenn die Datei auf LAN Sie benötigen Datei zu verwenden: // Protokoll 5 slash hinzufügen, bevor Pfad so mein Servername ist athensserver so f://///athensserver/ (alles, was Sie hier gemeinsam)

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