Pregunta

Tengo una aplicación Firebase que funciona perfectamente en localhost, pero no funciona cuando la accedo externamente (al permitir el reenvío de puertos en mi enrutador) o cuando la subo a Bluehost.

Este código funciona:

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

pero esto no:

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

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

Después de investigar un poco, creo que el problema es el Política del mismo origen, ya que la inclusión de Firebase JS es

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

pero mi referencia de base de fuego está activada

http://gamma.firebase.com/

Encontré algunas formas de solucionar este problema, pero quiero saber cuál es la mejor manera de manejarlo con Firebase (o si la Política del mismo origen es el problema aquí).

¿Fue útil?

Solución

Encontré la respuesta: sólo un error tonto de mi parte.

Mientras buscaba en los tutoriales de Firebase, me di cuenta de mi error.Estaba incluyendo el http://static.firebase.com/demo/firebase.js archivo, mientras que el tutorial dice claramente que se incluya el http://static.firebase.com/v0/firebase.js archivo.

Todavía tengo curiosidad por saber por qué demo el archivo funcionó solo en localhost...

Otros consejos

Firebase utiliza cors para la API API y WebSockets Restful para los clientes de JS, verEsta respuesta , por lo que eso no es un problema.

Parece un problema relacionado con el enrutamiento.¿Está experimentando errores en la consola de JavaScript?"No funciona" es un poco abstracto y un error más preciso podría ayudar a responder a la pregunta secundaria.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top