没有Node.JS的Google Firebase实时同步?

时间:2019-04-03 19:29:31

标签: javascript firebase google-cloud-firestore

我正在尝试使用Google Firebase在浏览器客户端之间保持网页同步。这是一个非常简单的页面,只有两个文本字段:

    <input class="firebase" id="text1">
    <input class="firebase" id="text2">
    <input type="button" value="test" onclick="setData()">

Firebase似乎都已正确设置。单击提交按钮后,它将执行以下操作:

    function setData()
    {
        docData = [];

        $('.firebase').each(function (index, value)
        {
            docData[$(this).attr('id')] = $(this).val();
        });

        console.log(docData);
        db.collection("test").doc("12345").set(Object.assign({}, docData));
    }

到目前为止,效果很好,我可以在Firebase控制台上看到实时更新的数据。

但是,我希望这样做,以便在更新Firebase文档时,页面上的文本字段(对于正在查看该页面的其他任何人)都自动使用新值进行更新。

我的网站上没有安装Node.JS,甚至不知道从哪里开始安装它。

有什么简单的方法可以使这些字段在客户端之间保持同步?

1 个答案:

答案 0 :(得分:2)

如果要实时更新,只需使用onSnapshot方法:

db.collection("cities").doc("SF")
    .onSnapshot(function(doc) {
        console.log("Current data: ", doc.data());
    });

有关更多详细信息,请参见documentation