Node.js:JSDOM 删除内联事件
当在原始 html 上使用 JSDOM 模块时,它会删除任何内联事件的痕迹。我不知道为什么它会如此随意地这样做。
有没有人找到一种方法来解决这个问题,或者是我做错了什么?
示例:
var jsdom = require('jsdom');
jsdom.defaultDocumentFeatures = {
FetchExternalResources : false,
ProcessExternalResources : false,
MutationEvents : false,
QuerySelector : false
};
var body="<a onclick='foo();'>FOO</a>";
var window = jsdom.jsdom(body).createWindow();
console.log(window.document.innerHTML);
此代码将输出
<a>FOO</a>
When using the JSDOM module on raw html, it removes any trace of inline events. I'm not sure why it would do this so arbitrarily.
Did anyone find a way to get around this or is it something i'm doing wrong?
Example:
var jsdom = require('jsdom');
jsdom.defaultDocumentFeatures = {
FetchExternalResources : false,
ProcessExternalResources : false,
MutationEvents : false,
QuerySelector : false
};
var body="<a onclick='foo();'>FOO</a>";
var window = jsdom.jsdom(body).createWindow();
console.log(window.document.innerHTML);
This code would output
<a>FOO</a>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
自 jsdom 0.2.8 起此问题已得到修复
this has been fixed as of jsdom 0.2.8