Pergunta

Tenho um aplicativo Firebase que funciona perfeitamente no localhost, mas não funciona quando o acesso externamente (permitindo o encaminhamento de porta no meu roteador) ou quando o carrego no Bluehost.

Este código funciona:

$(document).ready(function() {
    $("#button").click(function() {
        alert('Working!');
    });
});

mas isso não acontece:

var firebaseRef = new Firebase('[my firebase url]');

$(document).ready(function() {
    $("#button").click(function() {
        alert('Working!');
    });
});

Depois de fazer algumas pesquisas, acredito que o problema seja o Política de Mesma Origem, já que o Firebase JS inclui é

http://static.firebase.com/demo/firebase.js

mas minha referência do Firebase está ativada

http://gamma.firebase.com/

Encontrei algumas maneiras de contornar isso, mas quero saber a melhor maneira de lidar com isso com o Firebase (ou se a Política de Mesma Origem é o problema aqui).

Foi útil?

Solução

Encontrei a resposta - apenas um erro estúpido da minha parte.

Ao pesquisar nos tutoriais do Firebase, percebi meu erro.Eu estava incluindo o http://static.firebase.com/demo/firebase.js arquivo, enquanto o tutorial diz claramente para incluir o http://static.firebase.com/v0/firebase.js arquivo.

Ainda estou curioso para saber por que demo arquivo funcionou apenas no localhost ...

Outras dicas

Firebase usa CORS para API RESTful e WebSockets para clientes JS, veja esta resposta, então isso não é um problema.

Parece um problema relacionado ao roteamento.Você está enfrentando erros no console JavaScript?"Não funciona" é um pouco abstrato e um erro mais preciso poderia ajudar a responder à questão secundária.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top