【问题标题】:Which version of PhantomJS is compatible with yslow?哪个版本的 PhantomJS 与 yslow 兼容?
【发布时间】:2016-04-26 13:12:47
【问题描述】:

我被困在这一点上,我看到 yslow 不再适用于 PhantomJS 2.0,因为 API 中的 phantom.args 属性已被弃用。但在早期版本中它可以工作。

请告诉我哪个版本的 PhantomJS 与 yslow 配合使用?

【问题讨论】:

    标签: phantomjs yslow


    【解决方案1】:

    phantom.args is deprecated 从 PhantomJS 2.0 开始。使用旧版本(不推荐)或编辑您的 yslow 脚本以改用 system.args。注意系统模块必须是必需的。

    system.args[0] 始终是脚本名称,system.args[1] 是第一个参数,但在 phantom.args[0] 之前是第一个参数。因此,您还需要将所有索引都更改一个。

    PhantomJS 对第 2 版进行了大修,其中还包括了更新版本的 WebKit。

    【讨论】:

      【解决方案2】:

      必须在第 22 行更改 yslow.js。

      我做了这样的改变

      //args = phantom.args,
      args = require('system'),
      

      而且效果很好...这应该被修补到 yslow 然后!!!

      它会让你摆脱错误,但论点还没有落到正确的位置。

      然后我改成

      //args = phantom.args,
      system = require('system'),
      args = system.args,
      len = args.length,
      

      但还是没有好兆头!!!


      好的,这运行得很好,但尚未确认它是否稳定且运行良好。我现在将索引更改为以下

      line 69: for (i = 1; i < len; i += 1) {
      

      并且还将 phantom.args 更改为 args[0] 只是为了获得正确的 --help 输出描述。但我仍然怀疑它现在是否正确索引。

      【讨论】:

      • 不应该是args = require('system').args吗?
      • 啊,它消除了错误但没有正确提取参数,我将其更改为 | system = require('system'), args = system.args, len = args.length,但它仍然无法正常工作。
      • 注意索引是不同的。我会把它添加到我的答案中
      • 我已经更新了我的答案,请告诉我,以防您发现更多内容需要补充。
      【解决方案3】:

      显然there is a fix 解决了这个问题,但它尚未在主分支中合并。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-02-25
        • 1970-01-01
        • 2017-04-29
        • 2016-08-13
        • 2016-01-06
        • 2018-04-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多