Javascript jsdom未触发内部<;脚本>;

Javascript jsdom未触发内部<;脚本>;,javascript,css,node.js,jsdom,Javascript,Css,Node.js,Jsdom,我尝试对一个页面进行示例,该页面上有一个脚本,可以更改某些元素的CSS,从而使属性根据窗口的宽度在“活动”和“非活动”之间切换 我已经编写了收集和分析页面的nodeJS代码,但我似乎无法触发或检测脚本的触发。我怀疑这与defaultDocumentFeatures有关,但我可能错了 脚本在JSDOM中以默认宽度打开页面,然后将其更改为其他宽度的指定块。这应该会导致输出发生变化,但事实并非如此。我在所有情况下都得到相同的结果。我怀疑页面上的脚本根本没有运行,但需要帮助才能运行 这是我的代码(删除以

我尝试对一个页面进行示例,该页面上有一个脚本,可以更改某些元素的CSS,从而使属性根据窗口的宽度在“活动”和“非活动”之间切换

我已经编写了收集和分析页面的nodeJS代码,但我似乎无法触发或检测脚本的触发。我怀疑这与defaultDocumentFeatures有关,但我可能错了

脚本在JSDOM中以默认宽度打开页面,然后将其更改为其他宽度的指定块。这应该会导致输出发生变化,但事实并非如此。我在所有情况下都得到相同的结果。我怀疑页面上的脚本根本没有运行,但需要帮助才能运行

这是我的代码(删除以供公众查看)

根据建议,我将其添加到我的jsDom配置对象中,就在url之后:

    FetchExternalResources      : ['script', 'css'],
    ProcessExternalResources    : ['script', 'css'],
    MutationEvents              : '2.0',
    QuerySelector               : false,
但是没有明显的区别。

当您使用
jsdom.env
时,默认功能集不包括处理脚本

您必须将
FetchExternalResources
ProcessExternalResources
传递到
jsdom.env

jsdom.env({
  html: input,
  url: url,
  features: {
    FetchExternalResources: ["script", "img", "css", "frame", "iframe", "link"],
    ProcessExternalResources: ["script"]
  },
  created: function (err, window) {
      console.log('Created');
  },

  loaded: function (err, window) {
    console.log('Loaded');
  }
});
jsdom.env
不使用
jsdom.defaultDocumentFeatures
对象。

当您使用
jsdom.env
时,默认功能集不包括处理脚本

您必须将
FetchExternalResources
ProcessExternalResources
传递到
jsdom.env

jsdom.env({
  html: input,
  url: url,
  features: {
    FetchExternalResources: ["script", "img", "css", "frame", "iframe", "link"],
    ProcessExternalResources: ["script"]
  },
  created: function (err, window) {
      console.log('Created');
  },

  loaded: function (err, window) {
    console.log('Loaded');
  }
});

jsdom.env
不使用
jsdom.defaultDocumentFeatures
对象。

1.0版本是否仍然如此?但我尝试将相关行添加到配置对象,请参阅我的编辑,而且这似乎没有什么不同。@SkipHuffman您是否将属性包装在
features
对象中?我不知道您在问什么。我向传递给jsDom的配置对象添加了四个特性属性。env@SkipHuffman请参阅如何正确地向jsdom提供这些参数。1.0版本是否仍然如此?但我尝试将相关行添加到配置对象,请参阅我的编辑,而且这似乎没有什么不同。@SkipHuffman您是否将属性包装在
features
对象中?我不知道您在问什么。我向传递给jsDom的配置对象添加了四个特性属性。env@SkipHuffman有关如何正确地向jsdom提供这些参数的信息,请参见。