【发布时间】:2016-03-22 10:39:09
【问题描述】:
我有一个包含generatePNG 函数的editor.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Diagram</title>
<script type="text/javascript" src="lib/jquery-1.8.1.js"></script>
// <!-- I use many resources -->
<script></script>
<script>
function generatePNG (oViewer) {
var oImageOptions = {
includeDecoratorLayers: false,
replaceImageURL: true
};
var d = new Date();
var h = d.getHours();
var m = d.getMinutes();
var s = d.getSeconds();
var sFileName = "diagram" + h.toString() + m.toString() + s.toString() + ".png";
var sResultBlob = oViewer.generateImageBlob(function(sBlob) {
b = 64;
var reader = new window.FileReader();
reader.readAsDataURL(sBlob);
reader.onloadend = function() {
base64data = reader.result;
var image = document.createElement('img');
image.setAttribute("id", "GraphImage");
image.src = base64data;
document.body.appendChild(image);
}
}, "image/png", oImageOptions);
return sResult;
}
</script>
</head>
<body >
<div id="diagramContainer"></div>
</body>
</html>
我想访问 DOM 并使用 Node.js 获取 image.src。我发现我可以使用cheerio 或jsdom。
我从这个开始:
var cheerio = require('cheerio'),
$ = cheerio.load('editor.html');
但我不知道如何访问和获取image.src。
【问题讨论】:
-
您想要获取的 image.src 是在 editor.html 中使用该页面中的 javascript 生成的?
-
@luiso 是的 image.src 是一个 based64 数据,它是在 editor.html 中生成的,我想从 node.js 服务器中提取它
-
为了澄清,您将 editor.html 加载到服务器上的cheerio 中?所以这里面没有涉及到浏览器?
-
@RogierSpieker 我只想从 node.js 访问 edtior.html 并获取 image.src
-
关于您的要求,我认为有两种可能性。您希望 Node.js 访问由 Web 浏览器在实时页面上生成的图像,或者您希望能够访问存储在 img 元素的 src 属性中的 html 文件中的图像数据。请澄清。
标签: javascript jquery node.js cheerio jsdom