我正在使用带有 jsdom 的 jQuery(0.2.10)。出于某种原因,node.exe (0.6.5.1) 在处理诸如此类的 HTML 时永远不会返回:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head></HEAD>
<body></BODY>
</HTML>
解析代码为:
var request = require('request'),
jsdom = require('jsdom');
request({ uri:'http://localhost/test.html' }, function (error, response, body) {
jsdom.env({
html: body,
scripts: ['http://code.jquery.com/jquery-1.7.1.min.js'],
done: function (err, window) {
var $ = window.jQuery;
console.log('node.exe should get terminated after this line but does not.');
}
});
});
对标签名称使用相同的大小写按预期工作(即 node.exe 返回)。但由于我无法控制我正在解析的 HTML,我想知道是否有办法解决这个问题。此外,body.toLowerCase()
有助于终止 node.exe,但这不是一个可行的解决方案,因为我需要保留文本节点的原始大小写。
谢谢你。