标题真的说明了一切,但是我希望在我的.html文件的文件夹中有一个包含许多字符串的文件,并以某种方式将它们加载到页面中,可能使用document.write()或类似的东西。该网站遵循一个模板,我需要有许多字符串文件可互换加载到文档中,因为我想社交网络与它的配置文件页面。例如:
"My name is $NAME. I'm %AGE years old. I'm %HEIGHT inches tall." % ('Files/strings.txt')
文件的布局如下:
$NAME = 'Bob'
$AGE = '20'
$HEIGHT = '70'
或
Bob
20
70
甚至
Bob.20.70
我能做到这一点的任何方式都会很好,尽管我并不特别喜欢AJAX。没有从客户端传输数据,所以我似乎不需要AJAX。
答案 0 :(得分:3)
如果您只想使用javascript而不使用ajax:
// strings.js
var data = {
NAME: 'Bob',
AGE: 20,
HEIGHT: 70
};
// index.html
<script src="strings.js"></script>
<script>
window.onload = function () {
var tags = document.getElementsByClassName('templated');
for (var i=0; i<tags.length; ++i) {
applyTemplate(tags[i]);
}
}
function applyTemplate (tag) {
for (var key in data) {
var regexp = new RegExp('%'+key, 'g');
tag.innerHTML = tag.innerHTML.replace(regexp, data[key]);
}
}
</script>
<div class="templated">
"My name is %NAME. I'm %AGE years old. I'm %HEIGHT inches tall."
</div>
<p>
"My name is %NAME. I'm %AGE years old. I'm %HEIGHT inches tall."
</p>
在上面的示例中,段落不会被转换,但div将
但是如果你可以使用PHP: 如果你可以使用php那么:
//strings.txt:
$data['any_namespace'] = array(
'name' => 'Bob'
'age' => 20
'height' => 70
);
//index.php:
<?php
require_once 'strings.txt';
echo <<<HTML_CONTENT
My name is $data['name']. I'm $data['age'] years old. I'm $data['height'] inches tall.
HTML_CONTENT;
?>
希望这是你想要的:)
答案 1 :(得分:1)
听起来可以用基本的模板引擎来完成。请查看Dust.js或其他JavaScript templating engines
Dust具有能够使用存储在.js文件中的预编译模板的好处。不确定是否有其他人也有这种能力,我假设有人做...
答案 2 :(得分:1)
如果是,则为静态文件。您应该使用JSON结构存储数据。 json文件。