i18next版本1.7.2无法读取属性' status' null错误

时间:2014-03-12 09:32:19

标签: i18next

我在使用i18next获取i18n版本的字符串方面遇到了困难。 我无法阅读财产状况' i18next-1.7.2.js第1381行的零错误

我的json文件位于locales / translation-en.json,...等。

我的初始化代码如下:

i18n.init({ lng:"en" , resGetPath: "locales/__ns__-__lng__.json",  ns:"translation"},
function(t) {
text.nodeValue = i18n.t("app.name");
....
});

Cannot read property 'length' of null (javascript)没有申请我的案子。

1 个答案:

答案 0 :(得分:0)

当我检查i18next-1.7.2行的源代码时:1382 似乎代码中缺少空检查。 error为null并且正在检查error.status。 所以我添加了一个简单的空检查。

以下是代码中的更改:

旧代码(来自原版i18next-1.7.2.js):

                    if (error.status == 200) {
                        // file loaded but invalid json, stop waste time !
                        f.log('There is a typo in: ' + url);
                    } else if (error.status == 404) {
                        f.log('Does not exist: ' + url);
                    } else {
                        f.log(error.status + ' when loading ' + url);
                    }
                    done(error, {});

建议代码:

                if (error == null){
                    done(error, {});
                }else{
                    if (error.status == 200) {
                        // file loaded but invalid json, stop waste time !
                        f.log('There is a typo in: ' + url);
                    } else if (error.status == 404) {
                        f.log('Does not exist: ' + url);
                    } else {
                        f.log(error.status + ' when loading ' + url);
                    }
                    done(error, {});
                }

当我更改上面的代码时,它不起作用。 当我包含jquery.js文件时,它工作。 i18next Jamuhl的开发者知道这个主题。