首页 > 解决方案 > 没有 Node.JS 的 Google Firebase 实时同步?

问题描述

我正在尝试使用 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,我什至不知道从哪里开始安装它。

我可以做一些简单的事情来使这些字段在客户端之间保持同步吗?

标签: javascriptfirebasegoogle-cloud-firestore

解决方案


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

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

有关更多详细信息,请参阅文档


推荐阅读