我正在尝试创建一个PhantomJS脚本,该脚本使用其所有Javascripts评估整个页面,但每次调用特定函数时调用我的回调(比如,对函数myGoodFunc()函数的所有访问)并计算它们。
有人知道这样做的方法吗?
谢谢
答案 0 :(得分:0)
我可以想到一种非常肮脏的方式:
在你的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();
玩得开心!