Соберите весь документ в массив, затем объедините его с "\n"
в конце.(Разумеется, для этого не нужно разбрасывать много новых строк! И если вы используете IE7 или менее, Array#join
значительно быстрее, чем повторное объединение строк.)
Код здесь: http://jsfiddle.net/ZCbCZ/
ОБНОВЛЕНИЕ Я забыл включить "параграфы" в первую скрипку.Код с параграфами здесь: http://jsfiddle.net/U8325/1/
Для тех, кто не хочет проходить и пробовать его, вот скрипт:
// Not going to define metadata_author just to be saved by typeof :-)
var metadata_title = "Hello";
var metadata_date = "2011-09-07";
// Okay 3 paras for fun
var paras = ["<p>paragraph1</p>", "<p>paragraph2</p>", "<p>paragraph3</p>"];
data = ["<html>", "<head>"]
if (typeof metadata_title !== "undefined") {
data.push("<title>" + metadata_title + "</title>");
}
if (typeof metadata_author !== "undefined") {
data.push("<meta name=\"author\" content=\"" + metadata_author + "\"></meta>");
}
if (typeof metadata_date !== "undefined") {
data.push("<meta name=\"date\" content=\"" + metadata_date + "\"></meta>");
}
data.push("</head>");
data.push("<body>");
paras.forEach(function (p) {data.push(p);}); // Requires ES5; use a for-loop if you don't have it
data.push("</body>");
data.push("<html>");
data = data.join("\n");
alert(data);