我正在开发一款 Facebook 应用程序,其中包含我们的 Brightcove(视频主机)播放器及其 API。 Facebook 为用户提供了安全浏览的选项,但这带来了一些问题。按照目前的情况,我可以让应用程序在其中一种协议(protocol)(http 或 https)上正常工作,但不能同时在两种协议(protocol)上正常工作。
https://www.facebook.com/atlantafalcons?sk=app_292392080815275 (改成http://看不行)
如果我将 BrightcoveExperiences.js 文件源设置为 https://sadmin.brightcove.com/js/BrightcoveExperiences.js然后当有人不安全浏览时它会抛出错误。如果我将其设置为 http://admin.brightcove.com/js/BrightcoveExperiences.js然后当有人安全浏览时它会抛出错误。
安全嵌入的文档位于:http://support.brightcove.com/en/docs/publishing-brightcove-player-https-page
有没有办法检测用户是否安全浏览,以便能够选择加载哪个 JS 文件,或者有没有办法强制用户安全浏览?或者对于这样的问题还有其他解决方法吗?
提前致谢!
编辑: 能够想出一个解决方案(感谢 scibuff 建议检查谷歌分析):
<script type="text/javascript">
var bJsHost = (("https:" == document.location.protocol ) ? "https://sadmin." : "http://admin.");
document.write(unescape("%3Cscript src='" + bJsHost + "brightcove.com/js/BrightcoveExperiences.js' type='text/javascript'%3E%3C/script%3E"));
</script>
最佳答案
使用方案相关 URI:
//admin.brightcove.com/js/BrightcoveExperiences.js
并且不要对 SSL 和非 SSL 实例使用不同的主机名。
(或者让 sadmin 通过 301 重定向响应非 SSL 请求)
关于javascript - 安全/非安全浏览问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9537195/