Frage

Ich habe eine Firebase-App, die auf localhost einwandfrei funktioniert, aber nicht funktioniert, wenn ich extern darauf zugreife (indem ich die Portweiterleitung in meinem Router erlaube) oder wenn ich sie auf Bluehost hochlade.

Dieser Code funktioniert:

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

aber das bedeutet nicht:

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

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

Nach einigen Recherchen glaube ich, dass das Problem darin liegt Same-Origin-Richtlinie, da das Firebase JS-Include vorhanden ist

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

aber meine Firebase-Referenz ist aktiviert

http://gamma.firebase.com/

Ich habe einige Möglichkeiten gefunden, dies zu umgehen, möchte aber wissen, wie ich mit Firebase am besten damit umgehen kann (oder ob die Same Origin Policy hier überhaupt das Problem ist).

War es hilfreich?

Lösung

Ich habe die Antwort gefunden – nur ein dummer Fehler meinerseits.

Beim Durchsuchen der Firebase-Tutorials ist mir ein Fehler aufgefallen.Ich habe das mit einbezogen http://static.firebase.com/demo/firebase.js Datei, während das Tutorial eindeutig sagt, dass die Datei enthalten sein soll http://static.firebase.com/v0/firebase.js Datei.

Ich bin immer noch neugierig, warum das so ist demo Datei funktionierte nur auf localhost...

Andere Tipps

Firebase verwendet CORS für die erholsamen API und die Gewinnung für die JS-Kunden, Diese Antwort , das ist also kein Problem.

sieht aus wie ein Problem mit dem Routing.Haben Sie Fehler in der JavaScript-Konsole?"Funktioniert nicht" ist ein bisschen abstrakt und ein genauerer Fehler könnte helfen, die sekundäre Frage zu beantworten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top