用 javascript 打印 HTML
Printing HTML with javascript
这是我在使用 Node.js 时遇到的问题:
这是我在 index.js 中的代码:
.....
app.get('/xyz', function(request, response) {
fs = require('fs');
fs.readFile('views/pages/xyz.ejs', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
response.render('pages/xyz', {result:data});
});
});
.....
这里是xyz.ejs:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<% displayStr=result.replace("\n", "<br/>"); %>
<%= displayStr %>
</div>
</body>
</html>
这是我在浏览器中得到的,当我将它指向 top/yxz 时:
<!DOCTYPE html><br/><html> <head> </head> <body> <div class="container"> <% displayStr=result.replace("\n", "<br/>"); %> <%= displayStr %> </div> </body> </html>
即使有换行标记 (<br/>
),我得到的是一长行文本显示而不是 HTML 显示。
我尝试了各种我能找到的东西,但没有任何效果。
如何才能逐行显示正常?
您不必手动阅读文件。
你能试试吗:
app.get('/xyz', function(request, response) {
response.render('pages/xyz');
});
当然,在你之前应该:
app.set('view engine', 'ejs');
index.js:
...
response.render('pages/xyz', {result:'<xmp>'+data+'</xmp>'});
...
xyz.ejs:(使用 <%- 代码 %> 的未转义缓冲)
...
<% displayStr=result.replace("\n", "<br/>"); %>
<%- displayStr %>
...
这是我在使用 Node.js 时遇到的问题:
这是我在 index.js 中的代码:
.....
app.get('/xyz', function(request, response) {
fs = require('fs');
fs.readFile('views/pages/xyz.ejs', 'utf8', function (err,data) {
if (err) {
return console.log(err);
}
response.render('pages/xyz', {result:data});
});
});
.....
这里是xyz.ejs:
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div class="container">
<% displayStr=result.replace("\n", "<br/>"); %>
<%= displayStr %>
</div>
</body>
</html>
这是我在浏览器中得到的,当我将它指向 top/yxz 时:
<!DOCTYPE html><br/><html> <head> </head> <body> <div class="container"> <% displayStr=result.replace("\n", "<br/>"); %> <%= displayStr %> </div> </body> </html>
即使有换行标记 (<br/>
),我得到的是一长行文本显示而不是 HTML 显示。
我尝试了各种我能找到的东西,但没有任何效果。
如何才能逐行显示正常?
您不必手动阅读文件。
你能试试吗:
app.get('/xyz', function(request, response) {
response.render('pages/xyz');
});
当然,在你之前应该:
app.set('view engine', 'ejs');
index.js:
...
response.render('pages/xyz', {result:'<xmp>'+data+'</xmp>'});
...
xyz.ejs:(使用 <%- 代码 %> 的未转义缓冲)
...
<% displayStr=result.replace("\n", "<br/>"); %>
<%- displayStr %>
...