javascript - jsdom 不加载外部资源

标签 javascript node.js jsdom

我似乎无法让 jsdom 执行外部脚本,而且我似乎找不到任何具体示例。当我调用我的测试函数时,我没有收到任何错误,但什么也没有发生。

这是我的代码:

    var window = jsdom.jsdom(body).createWindow();

    jsdom.jQueryify(window, './lib/jquery.js', function () {
      console.log(window.$("#a1").text());
      window.testing();
      console.log(window.$("#a2").text());
    });

这是它加载的 html:

<html>
    <head>
            <script type="text/javascript" src="stuff.js"></script>
    </head>
    <body>
    Hi there

    <div id="a1">
    </div>

    <div id="a2">
    </div>

 </body>
</html>

我的测试函数:

function testing() {
    var a2 = document.getElementById("a2");
    a2.innerHTML = 'Second div';
    console.log("executed");
 }

最佳答案

查看 jsdom docs

在你的其余代码之前尝试这个:

require('jsdom').defaultDocumentFeatures = {
  FetchExternalResources   : ['script'], 
  ProcessExternalResources : ['script'],
  MutationEvents           : '2.0',
  QuerySelector            : false
}

var window = jsdom.jsdom(body).createWindow();

jsdom.jQueryify(window, './lib/jquery.js', function () {
  console.log(window.$("#a1").text());
  window.testing();
  console.log(window.$("#a2").text());
});

/fyi #node.js IRC 欢迎你:http://bit.ly/nodeIRC

关于javascript - jsdom 不加载外部资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5365613/

相关文章:

javascript - 在 TinyMCE 中更改 FontSize 下拉列表的名称

javascript - 安装了 parse.com (ParseOpenSource javascript sdk) 的 Node.js - 在 AWS eb 部署上失败

javascript - Ionic,Node js 构建 ios 错误

javascript - GSAP 时间线不同补间上的各种 onComplete 函数

node.js - 读取 CSV 文件的最后一行并提取一个值

javascript - WebSocket 服务器的最佳实践是什么?

javascript - 模拟点击文档 ReactJS/JSDom

jquery - 使用 JQuery 时如何停止 jsdom 自动限定 href 结果?

reactjs - Mocha + jsdom + React 类型错误 : Cannot read property 'addEventListener' of undefined

javascript - 忽略 z-index 的移动 safari