我们说我有以下IFRAME。只要浏览器使用HTTP查看页面,它就可以正常工作,但是,如果浏览器使用HTTPS查看页面,则会导致错误,并且必须更改IFRAME以使用HTTPS。
<iframe id="sitePreview" name="sitePreview" src="http://preview.administrator.test6.example.com/index.php?cid=17&preview=1330668404"></iframe>
不使用服务器脚本根据用于查看页面的协议自定义HTML协议,是否可以创建URI以便它们可以同时使用HTTP和HTTPS?
此外,如果这适用于其他链接,请发表评论:
<img alt="Map" src="http://maps.google.com/maps/api/staticmap?markers=color:blue|31 Milk St Boston MA&zoom=14&size=400x400&sensor=false" class="map">
<script src="http://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false&libraries=places" type="text/javascript"></script>
答案 0 :(得分:1)
请记住跨站点iframe调用可能很棘手,请阅读以下文章: 但是,http://blog.cakemail.com/the-iframe-cross-domain-policy-problem/,因为它确实加载了,我假设您要包含来自同一域的iframe。
要回答您的问题,只需将协议从src中删除,您可以将其引用为:
<iframe id="sitePreview" name="sitePreview" src="//preview.administrator.test6.example.com/index.php?cid=17&preview=1330668404"></iframe>
这将确保它将使用父母正在使用的任何协议...
您也可以将其硬编码为https,但这意味着每个请求都会提供一个安全的图像,从而产生不必要的开销......
答案 1 :(得分:0)
我认为这会奏效: 如果(位置==&#34; https://whatever.com&#34;) { //这是https } 其他 { //它的http }
如果我没有做对,请告诉我,我会重新编码。