If you have a script1 which create a script2 tag which itself create a script3 tag, then only script1 and script2 are listed in the DOM using the following code:
var jsdom = require('jsdom'); jsdom.defaultDocumentFeatures = { FetchExternalResources : ['script'], ProcessExternalResources : ['script'], MutationEvents : '2.0', }; var html = "<html><head><script src="script1.js"></script></head><body>test</body></html>"; var window = jsdom.jsdom( html ).createWindow(); window.addEventListener('load', function () { /* Only two script nodes in the DOM */ });
It looks like jsdom does not evaluate the code of script2, so jsdom does not seem to work recursively. This is a problem in my case. How to fix that?
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4