javascript - 安全/非安全浏览问题

标签 javascript https facebook-apps brightcove

我正在开发一款 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/

相关文章:

手机上的 Facebook 应用程序通知

javascript - 使用 Javascript 的 Firebase 动态链接

javascript - 我可以在页面标题中放置一个 JavaScript,将所有其他脚本移至结束正文标记之前吗?

javascript - jquery幻灯片图片显示无控制

node.js - 使用 cURL CLI 的 HTTPS POST 到 NodeJS 服务器

javascript - 平均堆栈 Facebook 授权错误 : No 'Access-Control-Allow-Origin' header?

apache-flex - 在 Flex 4 中使用 HTTPS Web 服务

android - javax.net.ssl.SSLHandshakeException : No enabled protocols

facebook - 无法将我的域名添加到 Facebook 应用程序中的 'App Domains'