-4

已定义:

var ru_cryptopro_npcades_10_native_bridge = {

    callbacksCount : 1,
    callbacks : {},

    resultForCallback : function resultForCallback(callbackId, resultArray) {

        var callback = ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId];

        if (!callback) return;

        callback.apply(null, resultArray);

    },

    call : function call(functionName, args, callback) {

        var hasCallback = callback && typeof callback == "function";
        var callbackId = hasCallback ? ru_cryptopro_npcades_10_native_bridge.callbacksCount++ : 0;

        if (hasCallback) ru_cryptopro_npcades_10_native_bridge.callbacks[callbackId] = callback;

        var iframe = document.createElement("IFRAME");
        var arrObjs = new Array("_CPNP_handle");

        try {

            iframe.setAttribute("src", "cpnp-js-call:" + functionName + ":" + callbackId+ ":" + encodeURIComponent(JSON.stringify(args, arrObjs)));

        }
        catch(e) {

            alert(e);

        }

        document.documentElement.appendChild(iframe);
        iframe.parentNode.removeChild(iframe);
        iframe = null;

    },

};

收到这样的警告: 警告 1 预期标识符或字符串 C:\Users\Administrator\documents\visual studio 2010\Projects\WebAppSelf3\WebAppSelf3\js\CadesLoad.js 453 1 WebAppSelf3

为什么?

4

3 回答 3

2

该错误是指,大块后的逗号call: function .....{}。它是畸形的对象。

于 2013-03-07T01:56:07.807 回答
2

Chrome 解析得很好,但我有一种预感,无论你有什么环境抛出这个错误,都不喜欢你的对象文字中的尾随逗号。

    },

};

这可能需要:

    }

};

这又是奇怪的,因为这似乎至少在某些浏览器中有效:http: //jsfiddle.net/Aa6yc/1/

虽然它肯定不是好的形式。

于 2013-03-07T01:56:41.973 回答
1

此类错误的原因通常可能是对象或数组定义中的逗号错误:

var obj = {
   id: 23,
   name: "test",  <--
}

参考:Javascript 错误的可能情况:“预期的标识符、字符串或数字”

于 2013-03-07T01:56:23.453 回答