【发布时间】:2015-06-19 18:45:42
【问题描述】:
作为实验的一部分,我正在使用 Node-Red。我正在创建一个简单的工作流程,只需单击一个按钮,就可以将各种网站的(下载 html 内容)嵌入到它自己的页面上。
但是,提取的 HTML,msg.payload,将自动编码为 HTML。因此,我会得到&lt;div class=&quot;shot&quot;&gt;,而不是定期<div>。这会破坏这个想法。
使用“功能节点”,我可以将任何 Javascript 应用到 msg.payload,从而提取 HTML。我需要找到一种将 HTML 实体解码回良好 HTML 的方法。
msg.payload 默认情况下已包含提取的内容,因此如果需要,您可以在 Javascript 变量中使用它;
var x = msg.payload
那么 tl;dr:如何仅使用 Javascript 解码 HTML 实体?
如果您想“摆弄”我的工作流程,请复制并粘贴以下代码。
[{"id":"b05c9e5a.4fa36","type":"http request","name":"Get to Dribbble","method":"GET","ret":"obj","url":"https://dribbble.com/search?utf8=%E2%9C%93&q=flat+design&s=latest","x":181,"y":169,"z":"9b321f64.64cde","wires":[["93dfb5e5.6c2048"]]},{"id":"c3be5c2.f3c41a","type":"inject","name":"","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":156,"y":106,"z":"9b321f64.64cde","wires":[["b05c9e5a.4fa36"]]},{"id":"93dfb5e5.6c2048","type":"html","name":"Get each Dribbble","tag":".dribbble","ret":"html","as":"multi","x":188,"y":257,"z":"9b321f64.64cde","wires":[["ef6b650e.109498"]]},{"id":"cea8d694.315728","type":"file","name":"","filename":"dribbble/dribbbleFile.html","appendNewline":true,"overwriteFile":"true","x":895,"y":302,"z":"9b321f64.64cde","wires":[]},{"id":"6a37543c.95c8ac","type":"template","name":"","field":"payload","format":"handlebars","template":"<!DOCTYPE html>\n<html lang=\"en\">\n<head>\n\t<meta charset=\"UTF-8\">\n\t <title>Document</title>\n <link href=\"http://iscs.nl/dribbble.css\"></link>\n</head>\n<body>\n\nThis is the payload: {{payload}} !\n\t\n</body>\n</html>\n\n\n\n\n\n","x":676,"y":303,"z":"9b321f64.64cde","wires":[["cea8d694.315728"]]},{"id":"ef6b650e.109498","type":"function","name":"","func":"return msg;","outputs":1,"noerr":0,"x":492,"y":303,"z":"9b321f64.64cde","wires":[["6a37543c.95c8ac"]]}]
【问题讨论】:
标签: javascript node.js html-entities node-red