javascript - 嵌套函数在 Mozilla 浏览器中不起作用

标签 javascript cross-browser mozilla

我在我的应用程序中调用了以下函数

function workerCall() {
    debugger;
    if (typeof (Worker) !== "undefined") {
        var worker = new Worker("Scripts/worker.js");
        worker.onmessage = workerResultReceiver;
        worker.onerror = workerErrorReceiver;
        worker.postMessage({ 'username': Username });
        function workerResultReceiver(e) {
            $('.NotificationCount').html(e.data);
            if (parseInt(e.data) != 0 && currentPage == "Alert") {
                StateFlag = false;
                $('.Notification').show();
                $('.Drildown').each(function () {
                    var temp = this.id;
                    if ($('#' + temp).attr('expand') == "true") {
                        currentTab = temp;
                        StateFlag = true;
                    }
                });
                currentScrollPosition = $('body').scrollTop();
                GetAlerts();
            } else {
                $('.Notification').hide();
            }
        }
        function workerErrorReceiver(e) {
            console.log("there was a problem with the WebWorker within " + e);
        }
    }
    else {

    }
}

该方法将在 IE、Chrome 中执行,但是当涉及到 Mozilla 时,我收到错误ReferenceError:workerResultReceiver 未定义。我该如何解决此错误?

最佳答案

发生这种情况是因为您正在引用尚未创建的函数。你需要把这个:

worker.onmessage = workerResultReceiver;
worker.onerror = workerErrorReceiver;

以上

function workerErrorReceiver

行或范围末尾。

关于javascript - 嵌套函数在 Mozilla 浏览器中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25364381/

相关文章:

javascript - 如何将插入符号所在位置的值设置为一个值 [Javascript]

java - GWT 如何为每个浏览器(例如浏览器)提供正确的 Javascript 代码?进行i18n和浏览器兼容?

html - Mozilla 无法使用 svg stroke-dashoffset

css - Mozilla -moz-border-radius 和 -moz-box-shadow 无法识别

javascript - MongoDB 嵌套查询仅返回最后出现的结果

javascript - 如何在node.js中获取body参数

javascript - Ajax GET 严重失败

asp.net 网站手机支持

javascript - 为什么浏览器允许 xorigin POST 而不允许 PUT?

html - 在 mozilla 中为内容添加了额外的填充