cam*_*kid -2 javascript node.js jsdom
例子:
<script type="text/javascript">
function test() {
console.log("Hello world");
}
</script>
Run Code Online (Sandbox Code Playgroud)
我该怎么称呼test()?
编辑:我没有正确解释这一点。
我正在使用 node.js 的请求模块来加载包含 javascript 函数的外部 html 文件:
request.get(options, function (error, response, body) {
if (error && response.statusCode !== 200) {
}
else {
jsdom.env({
html: body,
scripts: ["../jquery-1.6.4.min.js"]
}, function (err, window) {
var $ = window.jQuery;
Run Code Online (Sandbox Code Playgroud)
我只是在寻找在“body”中调用函数的语法。
所以这里的问题是默认情况下,jsdom.env不执行处理标记时发现的 javascript。
您需要开启这些功能:
jsdom.env({
// ...
features : {
FetchExternalResources : ['script'],
ProcessExternalResources : ['script']
}
});
Run Code Online (Sandbox Code Playgroud)
FetchExternalResources 控制 jsdom 是否应该通过网络/磁盘来收集资源的字节
ProcessExternalResources 控制是否执行或获取的脚本
请注意,选择这些名称是为了包含将来会添加的其他资源类型(例如:图像、CSS 等)。这里的想法是提供合理的默认值,但有许多影响 jsdom 行为的可转动旋钮。
| 归档时间: |
|
| 查看次数: |
4971 次 |
| 最近记录: |