https页⾯中引⼊http资源的解决⽅式
相对协议
应⽤场景
sprintf左补空格浏览器默认是不允许在 https ⾥⾯引⽤ http 资源的,⼀般都会弹出提⽰框。
⽤户确认后才会继续加载,⽤户体验⾮常差。maven classifier
⽽且如果在⼀个 https 页⾯⾥动态的引⼊ http 资源,⽐如引⼊⼀个 js ⽂件,会被直接 block 掉的。Chrome v21 之后,在 SSL 加密页⾯embed ⾮ SSL 的 Flash 资源也会被默默的屏蔽掉,只留下⼀句 console 报告。
解决⽅式
相对协议
如果你的⽹站同时准备了 https 资源和 http 资源,那么,可以使⽤相对协议可以帮助你实现当⽹站引⼊的都是 http 资源,⽹站域名更换为https 后的⽆缝切换。
具体使⽤⽅法为:
<img src="//domain/img/logo.png">
简⽽⾔之,就是将URL的协议(http、https)去掉,只保留//及后⾯的内容。这样,在使⽤https的⽹站中,浏览器会通过https请求URL,否则就通过http发送请求。
附注:如果是浏览本地⽂件,浏览器通过file://协议发送请求,导致请求失败,因此本地测试最好是搭建⼀个本地服务器。
正则化一个5 5随机矩阵
institution怎么记使⽤相对协议请求 Google CDN 中的 jQuery ,使⽤⽅式为:
<script src="//leapis/ajax/libs/jquery/1.4.2/jquery.js"></script>
<script>!window.jQuery && document.write(unescape('%3Cscript src="js/libs/jquery-1.4.2.js"%3E%3C/script%3E'))</script>
上⾯的例⼦中除了引⽤ Google CDN 中的⽂件外,还添加了⼀个本地 jQuery 链接,以便连接 Google CDN 失败后,使⽤本地副本。代码判断过程为:
1. ⾸先检查 jquery 对象是否存在,如果存在,证明 Google CDN 运⾏正常;
2. 如果不存在,则说明连接 Google CDN 失败,引⼊本地 jQuery 库。
本猿认为,在国内相对特殊的⽹络环境中,Google CDN 请求缓慢甚⾄失败常有,因此不推荐引⽤ Google CDN 托管的各种库。
即便有备⽤链接,浏览器还是会多次尝试请求 Google CDN 中的⽂件,这个过程可谓漫长,严重影响页⾯载⼊速度。
jquery下载文件请求使⽤ iframe
使⽤ iframe 的⽅式引⼊ http 资源,⽐如在 https ⾥⾯播放优酷的视频,我们可以先在⼀个 http 的页⾯⾥播放优酷视频,然后将这个页⾯嵌⼊到 https 页⾯⾥就可以了。
另外⼀个典型的例⼦是在 https 页⾯⾥通过 Ajax 的⽅式请求 http 资源,Chrome 是不允许直接 Ajax 请求 http 的。如果两个页⾯的内容都可以控制的话,当前窗⼝可以 iframe 窗⼝进⾏通信。
其他⽤法
这个⼩技巧同样适⽤于 CSS :
上线了小程序免费制作平台.omg { background: url(//websbestgifs/kittyonadolphin.gif); }

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。