ReferenceError:在Firefox中未定义函数

余志伟

当我尝试在Firefox中加载此脚本时,它给了我这个错误:参考错误:未定义onListFriends。

该代码在Safari和Chrome中可以正常运行。

listFriends(onListFriends);

function onListFriends() {
    console.log("friends were listed.");
    setOnline();
}

这是稍后在文件中定义的listFriends函数:

function listFriends(callback) {
    FB.api(
        "me/friends",

    function (response) {
        console.log("Got FB.api response");
        var numOnline = 0;
        var numFriends = response.data.length;
        for (var i = 0; i < numFriends; i++) {
            isOnline(i, response.data, gotOnline);
            var callbackInc = 0;

            function callbackIfYouCan(callback) {
                callbackInc++;
                if (callbackInc == numFriends) {
                    interiorCallback(callback);
                }
            }

            function gotOnline(res, ind, data) {
                console.log("Got response from isOnline: " + res);
                var id = data[ind].id;
                var checkbox = document.createElement('input');
                checkbox.type = "checkbox";
                checkbox.name = "friends";
                checkbox.id = id;
                checkbox.value = data[ind].name;
                console.log("For user " + checkbox.value);
                var label = document.createElement('label');
                label.htmlFor = id;
                label.appendChild(document.createTextNode(data[ind].name));
                if (res == 1) {
                    document.getElementById("online").appendChild(checkbox);
                    document.getElementById("online").appendChild(label);
                    document.getElementById("online").appendChild(document.createElement('br'));
                    numOnline++;
                } else {
                    document.getElementById("offline").appendChild(checkbox);
                    document.getElementById("offline").appendChild(label);
                    document.getElementById("offline").appendChild(document.createElement('br'));
                }
                callbackIfYouCan(callback);
            }
        }

        function interiorCallback(callback) {
            if (numOnline > 0) {
                var textField = document.createElement('input');
                textField.setAttribute('type', 'text');
                textField.id = "message";
                textField.value = "I would like to hang out at this place in 15 minutes.";

                var button = document.createElement('button');
                button.setAttribute('type', 'button');
                console.log("Created tagging button.");
                button.onclick = function () {
                    console.log("Tagging button pressed.");
                    getIdsFromCheckboxes();
                }
                button.innerHTML = "Tag your friends.";

                document.getElementById("online").appendChild(textField);
                document.getElementById("online").appendChild(button);
            }
            callback();
        }
    });

}

Firefox和Chrome加载此代码的方式有什么区别?任何帮助,将不胜感激。

蒂博·巴赫(Thibault Bach)

JS解释器逐行读取脚本。在您的情况下,当您像回调一样传输onListFriends时,解释器不知道那里的声明。

所以...切换您的函数声明和listFriends调用:

function onListFriends() {
    console.log("friends were listed.");
    setOnline();
}  
listFriends(onListFriends);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ReferenceError:函数未定义?

来自分类Dev

ember.js ReferenceError:firefox中未定义事件

来自分类Dev

ReferenceError:在Firefox 26.0中未定义g错误

来自分类Dev

ember.js ReferenceError:firefox中未定义事件

来自分类Dev

未定义ReferenceError foo(在IE和Firefox中)

来自分类Dev

在定义的函数上未定义ReferenceError

来自分类Dev

Firefox-ReferenceError:未定义PaymentRequest

来自分类Dev

Rails 5 ReferenceError:函数未定义

来自分类Dev

子类中的“ ReferenceError:未定义”

来自分类Dev

ReferenceError:WebStorm中未定义角度

来自分类Dev

ReferenceError:QML中未定义“内容”

来自分类Dev

ReferenceError:在opentreetmap中未定义OpenLayers

来自分类Dev

ReferenceError:在条带中未定义clientSecret

来自分类Dev

ReferenceError:QML中未定义“内容”

来自分类Dev

Javascript中的“ ReferenceError:变量未定义”

来自分类Dev

ReferenceError:jQuery中未定义$

来自分类Dev

ReferenceError:流星中未定义模板

来自分类Dev

ReferenceError:未定义$

来自分类Dev

ReferenceError:未定义$

来自分类Dev

在setTimeOut函数中传递多个参数会引发Uncaught ReferenceError:方法未定义(匿名函数)?

来自分类Dev

ReferenceError:未定义google-Mozilla firefox中的Google Apps脚本错误

来自分类Dev

Javascript ReferenceError:函数未定义,但已定义

来自分类Dev

ReferenceError:未定义事件firefox d3.js

来自分类Dev

移植到函数中时代码不起作用:“未捕获的ReferenceError:未定义svg”?

来自分类Dev

未捕获的ReferenceError:未定义函数jQuery

来自分类Dev

未捕获的ReferenceError :(给定函数)未定义

来自分类Dev

jQuery:未捕获的ReferenceError:函数未定义

来自分类Dev

未捕获的ReferenceError:未定义角度(匿名函数)

来自分类Dev

未捕获的ReferenceError:未定义测试(函数)

Related 相关文章

  1. 1

    ReferenceError:函数未定义?

  2. 2

    ember.js ReferenceError:firefox中未定义事件

  3. 3

    ReferenceError:在Firefox 26.0中未定义g错误

  4. 4

    ember.js ReferenceError:firefox中未定义事件

  5. 5

    未定义ReferenceError foo(在IE和Firefox中)

  6. 6

    在定义的函数上未定义ReferenceError

  7. 7

    Firefox-ReferenceError:未定义PaymentRequest

  8. 8

    Rails 5 ReferenceError:函数未定义

  9. 9

    子类中的“ ReferenceError:未定义”

  10. 10

    ReferenceError:WebStorm中未定义角度

  11. 11

    ReferenceError:QML中未定义“内容”

  12. 12

    ReferenceError:在opentreetmap中未定义OpenLayers

  13. 13

    ReferenceError:在条带中未定义clientSecret

  14. 14

    ReferenceError:QML中未定义“内容”

  15. 15

    Javascript中的“ ReferenceError:变量未定义”

  16. 16

    ReferenceError:jQuery中未定义$

  17. 17

    ReferenceError:流星中未定义模板

  18. 18

    ReferenceError:未定义$

  19. 19

    ReferenceError:未定义$

  20. 20

    在setTimeOut函数中传递多个参数会引发Uncaught ReferenceError:方法未定义(匿名函数)?

  21. 21

    ReferenceError:未定义google-Mozilla firefox中的Google Apps脚本错误

  22. 22

    Javascript ReferenceError:函数未定义,但已定义

  23. 23

    ReferenceError:未定义事件firefox d3.js

  24. 24

    移植到函数中时代码不起作用:“未捕获的ReferenceError:未定义svg”?

  25. 25

    未捕获的ReferenceError:未定义函数jQuery

  26. 26

    未捕获的ReferenceError :(给定函数)未定义

  27. 27

    jQuery:未捕获的ReferenceError:函数未定义

  28. 28

    未捕获的ReferenceError:未定义角度(匿名函数)

  29. 29

    未捕获的ReferenceError:未定义测试(函数)

热门标签

归档