【问题标题】:Why won't jsdom process scripts?为什么jsdom不会处理脚本?
【发布时间】:2012-03-31 03:28:10
【问题描述】:

在此脚本中,jsdom 不会调用 HTML 文档正文的 onLoad 属性中定义的函数。为什么不呢?

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);

【问题讨论】:

    标签: node.js jsdom


    【解决方案1】:

    尝试使用&lt;body onload="loaded()"&gt;

    【讨论】:

    • 任何 jsdom 特定的调试技巧?
    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 1970-01-01
    • 2016-01-04
    • 2022-11-30
    • 2011-04-12
    • 1970-01-01
    • 2015-06-11
    相关资源
    最近更新 更多