javascript - 使用 Express 将 javascript 代码注入(inject) html

标签 javascript html express impress.js

我正在使用 Express 框架编写一个 Web 应用程序来生成 Impress.js 演示文稿并在其上应用可视化编辑器。 我已将 app.js 设置为仅获取 .html 文件,但我想在 .html 文件的 body 结束标记之前从单独的文件注入(inject) javascript 代码。

例如,我将有一个路由处理程序/edit,然后在将脚本注入(inject)html代码后触发该脚本。

var express = require('express');

var app = express();


app.configure(function(){
    app.use(express.static(__dirname + '/public'));
});

app.get('/:file', function(req, res) {
  res.sendfile(__dirname + '/public' + file);
});

app.listen(3000);
console.log('Listening on port 3000');

我们非常欢迎任何关于如何实现这一目标的想法!

最佳答案

只是一个想法,但你可以使用类似 cheerio 的东西将脚本附加到正文

app.get('/:file', function(req, res) {
  var html = fs.readFileSync(__dirname + '/public' + file, 'utf8');
  var $ = cheerio.load(html);
  var scriptNode = '<script>alert("script appended!");</script>';
  $('body').append(scriptNode);
  res.send($.html());
});

关于javascript - 使用 Express 将 javascript 代码注入(inject) html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15574335/

相关文章:

node.js - Express 和 Passport 之间的 Cookie 检测

javascript - 水平 CSS 漏斗

javascript - 无法在 jQuery 的 getJSON 数据函数中将对象添加到数组(范围问题)

html - CSS 属性未出现在电子邮件中

javascript - CSS 与 Jquery、 slider 、动画、灯箱...加载时间与功能?

node.js - 快速 session 未设置 session

Node.js 服务器超时问题(EC2 + Express + PM2)

Javascript 幻灯片放映不起作用 - 外观不正确

javascript - ajax django表单仅提交部分数据

jQuery cropit 导出方法只返回 'data:,' 字符串