1

我通过从我创建的本地 HTML 调用数据库来尝试我的 Firebase 测试版邀请。这是拒绝工作的代码。

<html>
    <head>
        <script src="https://static.firebase.com/v0/firebase.js"></script>
        <script type="text/javascript">
            var myDataReference;

            function call_on_click() {
                alert("Done!");

                try {
                    myDataReference = new Firebase('https://sbose78.firebaseio.com/');
                    myDataReference.set('I am now writing data into Firebase!');
                } catch (e) {

                }
            }
        </script>
    </head>
    <body>
        <input type="button" value="push me" onclick="call_on_click()">
    </body>
</html>

我在 Ubuntu 上使用 Firefox 11。

[02:40:58.766] Firebase is not defined @ file:///root/Desktop/firebase-app1.html:20
--
[02:43:28.743] file:///root/Desktop/firebase-app1.html
[02:43:28.796] GET https://static.firebase.com/v0/firebase.js [HTTP/1.1 200 OK 1766ms]
[02:43:30.572] uncaught exception: [Exception... "Operation is not supported"  code: "9" nsresult: "0x80530009 (NS_ERROR_DOM_NOT_SUPPORTED_ERR)"  location: "https://static.firebase.com/v0/firebase.js Line: 28"]

我错过了什么?

提前致谢!

4

2 回答 2

2

这是 Firebase JavaScript 客户端中的一个错误,由 Firefox 在从文件加载内容时处理 sessionStorage 引起。它应该在这一点上修复。

再试一次,它应该可以工作。

于 2012-11-07T00:29:40.567 回答
0

据我所知,这是同源政策的问题。如上述文件所述:

从 Gecko 1.9 开始,文件只能读取某些其他文件。具体来说,一个文件只有在源文件的父目录是目标文件的祖先目录时才能读取另一个文件。但是,不能以这种方式加载目录。

例如,如果您有一个访问另一个文件 bar.html 的文件 foo.html,并且您已经从文件 index.html 导航到该文件,则只有当 bar.html 与 index.html 位于同一目录中时,加载才会成功或包含在与 index.html 相同的目录中的目录中。

于 2012-11-03T22:53:26.150 回答