javascript - 如何在 PhantomJS 中包含多个 JavaScript 库?

标签 javascript phantomjs

我正在使用 PhantomJS 根据我通过 JS 操作的 HTML canvas 元素的状态生成一系列图像。此 Canvas 操作依赖于 3 个独立的 JS 库和一些我在 window.onload 期间调用的内联脚本。

PhantomJS docs涵盖如何包含单个 JS 库,但不包含如何包含多个。

谁能给我提供正确的语法来包含几个 JS 库,然后在 window.onload 期间运行一些脚本?

最佳答案

page.includeJs() 有一个回调。第一个完成后,您可以加载下一个。这通常是递归完成的。

function multipleIncludeJs(page, jsArray, done) {
    if (jsArray.length === 0) {
        done();
        return;
    }

    var url = jsArray.shift();
    page.includeJs(url, function(){
        multipleIncludeJs(page, jsArray, done);
    });
}

并像这样使用它:

multipleIncludeJs(page, ["http://code.jquery...", "http://getbootstrap..."], function(){
    console.log("loaded");
});

关于javascript - 如何在 PhantomJS 中包含多个 JavaScript 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30839559/

相关文章:

javascript - 如何通过在 CasperJS 脚本中进入变量来加载 JSON

node.js - 运行 cucumberjs ft.selenium、phantomjs、webdriverio 时出错

javascript - HtmlOptions.OnLoadScript 无法使用 ABCPdf 创建 PDF

javascript - 使用正则表达式匹配函数名称和参数

javascript - Map.get() 在异步函数中返回未定义

javascript - phantomjs 中的变量事务,抓取网页

javascript - 函数中的 CasperJS querySelectorAll(variable) 不返回任何结果

javascript - 根据输入的数量计算单价

javascript - 如何删除逗号并替换为句点javascript

meteor - 获取作为 Googlebot 在 Meteor 中返回一个空的 body