一般我们实现http和https无缝切换,都是用相对路径实现:
<img src='/pix/smiley.jpg' />
<img src='smiley.jpg' />
但是如果是外部资源就郁闷了,因为写死了是http://,这个时候用https访问主站,IE之类的浏览器就会提示:即将载入混合内容页面是否继续。这个对话框点击“是”就可以跳过,但是会让用户很疑惑。假如我们嵌入的是一个外部图片:
<img src='http://another-site.com/mypic.jpg' />
这个时候要做到无缝切换http和https(假如another-site.com也同时支持https的话)可以这样写:
<img src='//another-site.com/mypic.jpg' />
注意这里和Windows的网上邻居的UNC还是有区别的,UNC是这样的: \\domain\shared\
也就是说,一个完整URL是这样的:
scheme://username:password@hostname:port/path?parameter=value
相对URL可以省略hostname或scheme:部分。
活学活用,在每一个Flash的地方我们可以这样写:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="//download.macromedia.com/pub/shockwave/cabs/flash/blah#blah"
width="600" height="400"> ... >/object<