【问题标题】:PhantomJS callback/hook Javascript functionsPhantomJS 回调/挂钩 Javascript 函数
【发布时间】:2014-05-21 04:54:48
【问题描述】:

我正在尝试创建一个 PhantomJS 脚本,该脚本使用其所有 Javascript 评估整个页面,但每次调用特定函数时都会调用我的回调(例如,对函数 myGoodFunc() 的所有访问)并计算它们。

有人知道这样做的方法吗?

谢谢

【问题讨论】:

标签: javascript phantomjs


【解决方案1】:

我能想到一个很肮脏的方法:

在您的 phantomjs 脚本中,您可以这样做

for (i=0;document.getElementsByTagName('script');;i++) {
    document.getElementsByTagName('script').innerText.replace(/'functionname()'/g, /'callback(), functionname()'/);
}

如果方法立即作用于函数的输出,这将导致语法错误,例如,Object.functionname().length 将变为 Object.functionname(), callback().length,这将产生某种错误。

但是,这可能是一个不错的开始。至于计算对该函数的调用次数,您可以在回调函数中创建一个全局变量并在该函数末尾执行count++

其实刚想到这个,第二种方法就是修改函数定义;所以如果有一个函数文字var functionName = function () {,只需用类似的方式替换它:

var functionName = function() { \n callback();

玩得开心!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 2020-08-01
    • 2014-10-22
    • 2016-08-19
    • 1970-01-01
    相关资源
    最近更新 更多