HTML/JavaScript - 具有自动http/https前缀的远程img src

Pav*_*vel 12 html javascript https

从远程服务器显示图像:

<img src="http://remotehost/path/to/a.png" alt="Image A" />
Run Code Online (Sandbox Code Playgroud)

但是,如果通过HTTPS访问当前页面,则通过未加密的HTTP链接图像将产生安全警告.虽然我可以指定https://而不管当前的协议,但这样做会浪费,因为除非有必要(当访问者使用HTTPS时)我真的不关心这个图像的传输.

是否可以为img标记的src属性指定URL,以便根据用于访问当前页面的协议动态选择URL中的协议?说明我的意思:

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

如果我们使用JavaScript怎么办?我们可以给img标签一个id,以便我们可以找到它并将src设置为以window.location.protocol开头.

也可以使用base64完全绕过HTTP/HTTPS问题,但这对我正在做的事情并不理想.

你们有什么可以推荐的?

xda*_*azz 23

做就是了 :

<img src="//remotehost/path/to/a.png" alt="Image A" />
Run Code Online (Sandbox Code Playgroud)

  • 详细说明一下.保罗爱尔兰在这方面写了一篇很好的[文章](http://paulirish.com/2010/the-protocol-relative-url/). (3认同)