为什么jsdom不会处理脚本?
问题描述:
在这个脚本中,HTML文档的body的onLoad属性中定义的函数不会被jsdom调用。为什么不?为什么jsdom不会处理脚本?
var testHTML = '<html> \n' +
' <head> \n' +
' <title>AJAX Testing</title> \n' +
' <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.js"></script> \n' +
' <script type="text/javascript"> \n' +
' function loaded(){ \n' +
' $("body").html("<p>AJAX was used to update the contents of this page!</p>"); \n' +
' } \n' +
' </script> \n' +
' </head> \n' +
' <body onLoad="loaded()"> \n' +
' <p>No ajax work has been done</p> \n' +
' </body> \n' +
'</html>';
var jsdom = require('jsdom');
var options = {
features:{
FetchExternalResources:['script']
, ProcessExternalResources:['script']
}
}
var document = jsdom.jsdom(testHTML, null, options)
var window = document.createWindow();
console.log(window.document.innerHTML);
答
尝试使用<body onload="loaded()">
感谢tmpvar。虽然没有解决这个问题:( – Trindaz 2012-03-31 00:53:29
任何jsdom特定的调试技巧? – Trindaz 2012-03-31 00:54:24