如果您只想使用 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;
?>
希望这是你想要的:)