• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

ios - FirebaseDatabase 网页 iOS/OSX

[复制链接]
菜鸟教程小白 发表于 2022-12-13 00:11:02 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我正在为一个学校项目开发一个网站,其中包含一个您需要按下的按钮。按下时,该按钮从数据库中获取一个值,即 child 'aantal' 并加 1。完成后,它会将其重新上传回数据库。再往前一页,您可以看到该 child 的实时号码。问题是,这不适用于 iOS 9 或更低版本以及 OSX Yosemite 或更低版本。在 android 和 windows 上运行良好。

可重用的代码;

这只是一个按钮。如果按下按钮,它会在 int 上添加 1。这很奇怪,因为它在上面提到的操作系统上不起作用。

<script src="https://www.gstatic.com/firebasejs/3.6.9/firebase.js"></script>
<script language="JavaScript">
        // Initialize Firebase
        var config = {
            apiKey: //API KEY,
            authDomain: //FIRBASE DOMAIN,
            databaseURL: //DATABASE URL,
            storageBucket: //STORAGE BUCKET,
            messagingSenderId: //MESGSENDID
        };
        firebase.initializeApp(config);
        var number;
        var database = firebase.database().ref().child('aantal');
        function buy() {
            database.on('value', snap => number = snap.val());
            var count = parseInt(number, 10) + 1;
            database.set(count);
        }
    </script>

此代码不起作用,初始化自己的 Firebase 项目进行测试。 出于安全原因,我删除了我的详细信息。



Best Answer-推荐答案


编辑 原来 Safari(9.1/iOS 9.3 及以下)不支持箭头功能。

database.on('value', snap => number = snap.val()); 更改为 database.on('value', function(snap) { number = snap.val()}); 修复了这个问题。

我的意思是,该代码不应该在任何地方工作。

function buy() {
    database.on('value', snap => number = snap.val());
    var count = parseInt(number, 10) + 1;
    database.set(count);
}

Firebase 是异步的,您无需等待它从数据库中实际加载数字。

这应该可行。

function buy() {
    database.on('value', snap => {
      number = snap.val();
      var count = parseInt(number, 10) + 1;
      database.set(count);
    });
}

我不知道这是否真的是您遇到的问题,或者您是否只是在示例中写了这个。此外,在增加值时,您应该使用事务。

function buy() {
    database.transaction(function(value) {
        if (value) {
            value++;
        }
        return value;
    });
}

关于ios - FirebaseDatabase 网页 iOS/OSX,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42734217/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap