javascript - Node.js:JSDOM 删除内联事件

标签 javascript dom 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>

最佳答案

从 jsdom 0.2.8 开始已经修复

关于javascript - Node.js:JSDOM 删除内联事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7787974/

相关文章:

javascript - npm 审计返回奇怪的依赖项

c++ - 为什么 IWebBrowser2 在 DOM 更改后不刷新?

javascript - IE9 中的 XML DOM childNode 不支持 for..in 语句?

java - 选择给定节点之后的节点

javascript - Nodejs : run promises sequentially

javascript - 如何将 JavaScriptObject 结果添加到 SmartGWT 中生成的 HTML 的特定位置?

javascript - 如何从字符串中删除确切的单词

node.js - Mongoose 查找默认值

node.js - SQL Server 中的 Sequelize upsert 失败

为页面上的短语添加样式的 Javascript 或 jQuery