Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 加载变量与其他变量相同的脚本并重写_Javascript_Jquery_Cordova_Jquery Mobile - Fatal编程技术网

Javascript 加载变量与其他变量相同的脚本并重写

Javascript 加载变量与其他变量相同的脚本并重写,javascript,jquery,cordova,jquery-mobile,Javascript,Jquery,Cordova,Jquery Mobile,我在两种不同的语言中使用了两个不同的javascript文件,一个是英语文件lang.en.js,另一个是lang.es.js,两个文件包含相同的变量,例如: lang.es.js var messages: { settings: { settings: "Opciones", language: "Idioma" } } lang.en.js var messages: { settings: { settings:

我在两种不同的语言中使用了两个不同的javascript文件,一个是英语文件lang.en.js,另一个是lang.es.js,两个文件包含相同的变量,例如: lang.es.js

var messages: {
    settings: {
        settings: "Opciones",
        language: "Idioma"
    }
}
lang.en.js

var messages: {
    settings: {
        settings: "Settings",
        language: "Language"
    }
}
因此,在我的phonegap应用程序开始时,我只加载其中一个文件,我想给用户一个选项,以便他可以在应用程序执行期间更改语言,我如何覆盖其他文件或重新加载整个应用程序?。
注意。

使用XHR将文件作为JSON加载并解析。大概是这样的:

    var messages = {};
    var request = new XMLHttpRequest();
    request.open("GET", "lang.en.json", true);
    request.onreadystatechange = function(){
        console.log("state = " + request.readyState);
        if (request.readyState == 4) {
            if (request.status == 200 || request.status == 0) {
                messages = JSON.parse(request.responseText);
            }
        }
    }
    request.send();
并将.js文件更改为.json:

{
    settings: {
        settings: "Settings",
        language: "Language"
    }
}

谢谢你的回答,我必须解决其他问题,这会失去一些优先权。下周我将测试这个,我会告诉你它是如何进行的。