gpt4 book ai didi

javascript - jsdom 不加载外部资源

转载 作者:搜寻专家 更新时间:2023-11-01 00:47:05 25 4
gpt4 key购买 nike

我似乎无法让 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com