Problema de navegação seguro/não seguro
Https://www.facebook.com/atlantafalcons?sk=app_292392080815275 (mudar para http:// para ver que não funciona)
Se eu definir o BrightcoveExperiences.código do ficheiro js para https://sadmin.brightcove.com/js/BrightcoveExperiences.js então ele lança erros quando alguém não está navegando de forma segura. Se o puser em http://admin.brightcove.com/js/BrightcoveExperiences.js então ele lança erros quando alguém está navegando com segurança.
a documentação para incorporar de forma segura está aqui: http://support.brightcove.com/en/docs/publishing-brightcove-player-https-page
Existe uma maneira de detectar se o Utilizador está a navegar de forma segura para poder escolher qual o ficheiro JS a carregar ou existe uma forma de obrigar os utilizadores a navegar de forma segura? Ou há outra solução para um problema como este?
Obrigado antecipadamente!editar: Foi capaz de encontrar uma solução (graças ao scibuff por recomendar a verificação do Google analytics):
<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>
2 answers
Utilizar um esquema-URI relativo:
//admin.brightcove.com/js/BrightcoveExperiences.js
E não use nomes de máquinas diferentes para as instâncias SSL e não-SSL.
(ou fazer com que a sadmin responda com um redireccionamento 301 para a administração para pedidos não-SSL)
// window, top, self, document, others?
window.location.protocol
Por outras palavras:
if (window.location.protocol == 'http:') {
document.body.innerHTML = 'The page is using the http (non-secure) protocol.';
} else {
document.body.innerHTML = 'The page is using the https (secure) protocol.';
}
Outros objectos da janela/documento também podem funcionar, dependendo do que precisar:
// window, top, self, document, others?
if (self.location.protocol == 'http:') {
document.body.innerHTML = 'The page is using the http (non-secure) protocol.';
} else {
document.body.innerHTML = 'The page is using the https (secure) protocol.';
}