Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PhantomJS回调/钩子Javascript函数_Javascript_Phantomjs - Fatal编程技术网

PhantomJS回调/钩子Javascript函数

PhantomJS回调/钩子Javascript函数,javascript,phantomjs,Javascript,Phantomjs,我正在尝试创建一个PhantomJS脚本,该脚本使用其所有Java脚本计算整个页面,但每次调用特定函数(例如,对函数myGoodFunc()的所有访问)时都会调用我的回调并对它们进行计数 有人知道这样做的方法吗 谢谢你我能想出一个非常肮脏的方法: 在phantomjs脚本中,您可以 for (i=0;document.getElementsByTagName('script');;i++) { document.getElementsByTagName('script').innerTe

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

有人知道这样做的方法吗


谢谢你

我能想出一个非常肮脏的方法:

在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++

实际上,考虑到这一点,第二种方法是修改函数定义;因此,如果有一个函数literal
var functionName=function(){
,只需以类似的方式使用以下命令重新替换它:

var functionName = function() { \n callback();
玩得开心!

可能重复