我有一个Firebase应用程序在localhost上完美运行,但是当我从外部访问它时(通过允许在我的路由器中进行端口转发)或当我将其上传到Bluehost时不起作用。

此代码有效:

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

但这不是:

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

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

在做了一些研究之后,我相信问题是 同源政策, ,由于Firebase JS包括是

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

但我的firebase引用在

http://gamma.firebase.com/

我已经找到了几种方法来解决这个问题,但想知道使用Firebase处理它的最佳方法(或者如果同源策略甚至是这里的问题)。

有帮助吗?

解决方案

我找到了答案-只是我的一个愚蠢的错误。

在搜索Firebase教程时,我抓住了我的错误。我包括了 http://static.firebase.com/demo/firebase.js 文件,而教程清楚地说包括 http://static.firebase.com/v0/firebase.js 档案。

我仍然很好奇为什么 demo 文件只在本地主机上工作。..

其他提示

firebase使用CORS for RESTFUL API和JS客户端的WebSockets,这个答案,所以这不是一个问题。

看起来像与路由相关的问题。您是否在JavaScript控制台中遇到错误?“不起作用”有点摘要,更精确的错误可以帮助回答次要问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top