目前无法在 beforeParse 中调用 getInternalVMContext
作者: KnisterPeter创建于 2021年2月24日更新于 2026年9月17日
基本信息:
- Node.js 版本:任意版本
- jsdom 版本:最新版(16.x.x)
最小重现案例:
const { JSDOM } = require("jsdom");
const { Script } = require("script");
const script = new Script('...');
const dom = new JSDOM(`
<html></html>
`, {
beforeParse(window) {
// 这里失败,因为 `dom` 无法访问。
// 在给定的 `window` 中,无法从上下文中获取上下文(我认为这是由于 _globalProxy 问题造成的)。
script.runInContext(dom.getInternalVMContext());
}
});
### 在浏览器中类似的代码如何运行?
不适用,因为没有类似的 API。
设置此功能的原因是创建多个 JSDOM 实例并在它们之间共享预编译脚本。这些实例需要在解析开始前设置并使可用。内容来源: jsdom/jsdom