在现有javascript函数中包含.txt文件

在现有javascript函数中包含.txt文件,javascript,Javascript,我有一个javascript函数,它需要一些变量,我希望从外部.txt文件调用这些变量: <script language="JavaScript"> StartCountDown("1070","08/21/2014 15:32 +0300") StartCountDown("1071","08/21/2014 16:00 +0300") StartCountDown("1072","08/21/2014 16:00 +0300") ... rest of the functi

我有一个javascript函数,它需要一些变量,我希望从外部.txt文件调用这些变量:

<script language="JavaScript">

StartCountDown("1070","08/21/2014 15:32 +0300")
StartCountDown("1071","08/21/2014 16:00 +0300")
StartCountDown("1072","08/21/2014 16:00 +0300")

... rest of the function
</script>

StartCountDown(“1070”、“08/21/2014 15:32+0300”)
StartCountDown(“1071”、“08/21/2014 16:00+0300”)
开始计数(“1072”、“08/21/2014 16:00+0300”)
... 函数的其余部分
如果

<script language="JavaScript">

**include stuff from variables.txt here**

... rest of the function
</script>

**在这里包含variables.txt中的内容**
... 函数的其余部分
有没有办法做到这一点?谢谢。

选项1:将txt加载到变量中 您可以通过javascript/ajax同步加载.txt文件。请记住,javascript代码执行将在此时等待,直到加载文件

var request = new XMLHttpRequest();
request.open('GET', 'text.txt', false);
request.send();
var textfileContent = request.responseText;
您还可以异步执行此操作。尽管在这种情况下,您的程序逻辑必须等待文件加载:

var request = new XMLHttpRequest();
request.open('GET', 'text.txt');
request.onreadystatechange = function() {
    if (request.readyState === 4) {
        var textfileContent = request.responseText;
        // continue your program flow here
    }
}
request.send();
从变量执行javascript(不鼓励) 也可以使用字符串计算javascript代码。尽管不鼓励使用此方法:

eval(textfileContent);
选项2:通过脚本包含javascript 如果要加载的是javascript,另一个解决方案是向dom添加脚本标记:

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "text.txt";
document.body.appendChild(script);
选项3:使用json初始化变量(最适合您的需要) 如果您只是加载变量值,那么json可能对您更有意义。创建如下所示的文本文件:

[
    ["1070","08/21/2014 15:32 +0300"],
    ["1071","08/21/2014 16:00 +0300"],
    ["1072","08/21/2014 16:00 +0300"]
]
var request = new XMLHttpRequest();
request.open("GET", "json.txt", false);
request.send(null);
var data = JSON.parse(request.responseText);
阅读json语法

然后按如下方式加载json文件:

[
    ["1070","08/21/2014 15:32 +0300"],
    ["1071","08/21/2014 16:00 +0300"],
    ["1072","08/21/2014 16:00 +0300"]
]
var request = new XMLHttpRequest();
request.open("GET", "json.txt", false);
request.send(null);
var data = JSON.parse(request.responseText);
您的数据现在位于数组中。您可能希望访问循环中的值:

for ( var i = 0; i < data.length; i++ ) {
    var entry = data[i];
    var year = entry[0];
    var date = entry[1];
    StartCountDown(year, date);
}
选项1:将txt加载到变量中 您可以通过javascript/ajax同步加载.txt文件。请记住,javascript代码执行将在此时等待,直到加载文件

var request = new XMLHttpRequest();
request.open('GET', 'text.txt', false);
request.send();
var textfileContent = request.responseText;
您还可以异步执行此操作。尽管在这种情况下,您的程序逻辑必须等待文件加载:

var request = new XMLHttpRequest();
request.open('GET', 'text.txt');
request.onreadystatechange = function() {
    if (request.readyState === 4) {
        var textfileContent = request.responseText;
        // continue your program flow here
    }
}
request.send();
从变量执行javascript(不鼓励) 也可以使用字符串计算javascript代码。尽管不鼓励使用此方法:

eval(textfileContent);
选项2:通过脚本包含javascript 如果要加载的是javascript,另一个解决方案是向dom添加脚本标记:

var script = document.createElement('script');
script.type = 'text/javascript';
script.src = "text.txt";
document.body.appendChild(script);
选项3:使用json初始化变量(最适合您的需要) 如果您只是加载变量值,那么json可能对您更有意义。创建如下所示的文本文件:

[
    ["1070","08/21/2014 15:32 +0300"],
    ["1071","08/21/2014 16:00 +0300"],
    ["1072","08/21/2014 16:00 +0300"]
]
var request = new XMLHttpRequest();
request.open("GET", "json.txt", false);
request.send(null);
var data = JSON.parse(request.responseText);
阅读json语法

然后按如下方式加载json文件:

[
    ["1070","08/21/2014 15:32 +0300"],
    ["1071","08/21/2014 16:00 +0300"],
    ["1072","08/21/2014 16:00 +0300"]
]
var request = new XMLHttpRequest();
request.open("GET", "json.txt", false);
request.send(null);
var data = JSON.parse(request.responseText);
您的数据现在位于数组中。您可能希望访问循环中的值:

for ( var i = 0; i < data.length; i++ ) {
    var entry = data[i];
    var year = entry[0];
    var date = entry[1];
    StartCountDown(year, date);
}

您是否使用任何类型的服务器端技术?如果是这样,这就变得容易了。如果没有,您可以使用客户端构建过程,将文本文件转换为所需的任何JavaScript。我们需要更多的细节。我更喜欢客户端。txt文件不应转换为javascript,而应包含在所述函数中。请给出一个实际案例。您需要存储在文本文件中的内容以及将要使用的内容。JavaScript本身没有任何
include
功能。您是否使用任何类型的服务器端技术?如果是这样,这就变得容易了。如果没有,您可以使用客户端构建过程,将文本文件转换为所需的任何JavaScript。我们需要更多的细节。我更喜欢客户端。txt文件不应转换为javascript,而应包含在所述函数中。请给出一个实际案例。您需要存储在文本文件中的内容以及将要使用它存储的内容。JavaScript本身没有任何类型的
include
功能。这不是正确的JSON。尾随的逗号无效。感谢@SethThe提示,“通过脚本包含javascript”非常有效,显然是因为这些变量还包含一个函数,所以它们也需要作为javascript调用。非常感谢您详细的解决方案,非常感谢!您应该考虑json解决方案。并在循环中执行脚本,如:
StartCountDown(年份、日期)
这不是正确的JSON。尾随的逗号无效。感谢@SethThe提示,“通过脚本包含javascript”非常有效,显然是因为这些变量还包含一个函数,所以它们也需要作为javascript调用。非常感谢您详细的解决方案,非常感谢!您应该考虑json解决方案。并在循环中执行脚本,如:
StartCountDown(年份、日期)