在现有javascript函数中包含.txt文件
我有一个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
<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(年份、日期)