我使用 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);
}
});
}
在上面的代码中:
我已经添加了Cross Domain'true'和数据类型'text'..当我将数据类型'text'更改为'jsonp'时它正在工作,但它给出了.properties文件错误。 请检查以下错误..
这意味着。文件已加载,但内部数据格式不同。
答案 0 :(得分:0)
如果您现在使用的是JSONP而不是文本,则该文件将作为javascript代码加载,因此如果内容不是有效的javascript代码,则会失败。
使用全局变量赋值或函数调用环绕数据:
window.variable = "_DATA_"; // or
functionName("_DATA_");
如果_DATA_是JSON格式,那么你不需要用引号括起来,否则你需要使用" _DATA _"因为没有引号它将不是有效的javascript语法。