20

我使用i18n插件加载 *.properties 文件进行翻译,它在 android 平台上工作正常,但同一个库在 IOS 10.3.1 上不工作。它给了我以下错误:

在此处输入图像描述

我在 i18n 库中做了一些更改,但仍然无法正常工作。

function loadAndParseFile(filename, settings) {
    $.ajax({
        url: filename,
        async: false,
        cache: settings.cache,
        crossDomain: true,
        jsonpCallback: 'callback',
        contentType: 'text/plain;charset=' + settings.encoding,
        dataType: 'text',
        success: function (data, status) {
            parseData(data, settings.mode);
        }
    });
}

在上面的代码中:

我已经添加了跨域'true'和数据类型'text'..当我将数据类型'text'更改为'jsonp'时它的工作但它给出了.properties文件错误。请检查以下错误..

在此处输入图像描述

这意味着。文件已加载,但内部数据格式不同。

4

1 回答 1

0

如果您现在使用 JSONP 而不是文本,文件将作为 javascript 代码加载,因此如果内容不是有效的 javascript 代码,它将失败。

用全局变量赋值或函数调用包围数据:

    window.variable = "_DATA_"; // or
    functionName("_DATA_");

如果 _DATA_ 是 JSON 格式,那么您不需要用引号括起来,否则您需要使用“_DATA_”,因为没有引号它将不是有效的 javascript 语法。

于 2017-11-09T12:41:43.867 回答