Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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
Javascript PhantomJS 2.0中的DOM API重载/代理_Javascript_Cookies_Phantomjs_Hook - Fatal编程技术网

Javascript PhantomJS 2.0中的DOM API重载/代理

Javascript PhantomJS 2.0中的DOM API重载/代理,javascript,cookies,phantomjs,hook,Javascript,Cookies,Phantomjs,Hook,我试图在PhantomJS中创建一个DOM API重载/代理的简单示例。我的意图是检测页面是否尝试在其范围内读取/写入cookies。为此,我编写了以下PhantomJS 2.0脚本: var page=require('webpage').create(); page.onInitialized=函数(){ page.evaluate(函数(){ (功能(){ console.log('onInitialized'); var cookie_setter=文档; var cookie_get

我试图在PhantomJS中创建一个DOM API重载/代理的简单示例。我的意图是检测页面是否尝试在其范围内读取/写入cookies。为此,我编写了以下PhantomJS 2.0脚本:

var page=require('webpage').create();
page.onInitialized=函数(){
page.evaluate(函数(){
(功能(){
console.log('onInitialized');
var cookie_setter=文档;
var cookie_getter=文档;
Object.defineProperty(Object.getPrototypeOf(文档),'cookie'{
get:function(){
log('get cookie');
返回cookie\u getter.call(this);
},
设置:函数(值){
log('set cookie');
返回cookie_setter.apply(这是参数);
}
});
})();
});
};
page.onLoadStarted=函数(){
page.evaluate(函数(){
(功能(){
log('onLoadStarted');
var cookie_setter=文档;
var cookie_getter=文档;
Object.defineProperty(Object.getPrototypeOf(文档),'cookie'{
get:function(){
log('get cookie');
返回cookie\u getter.call(this);
},
设置:函数(值){
log('set cookie');
返回cookie_setter.apply(这是参数);
}
});
})();
});
};
page.onConsolleMessage=函数(msg){
var log=JSON.parse(msg);
如果(log.type=='cookie'){
console.log('cookie');
}
};
page.onLoadFinished=功能(状态){
console.log('page.onLoadFinished:'+状态);
如果(状态==“成功”){
console.log(page.content);
//phantom.exit();
}
};
第页打开('http://127.0.0.1/phantom/1.html,功能(状态){
/* 
var a=document.cookie;
*/
page.evaluate(函数(){
(功能(){
console.log('page.open');
var cookie_setter=文档;
var cookie_getter=文档;
Object.defineProperty(Object.getPrototypeOf(文档),'cookie'{
get:function(){
log('get cookie');
返回cookie\u getter.call(this);
},
设置:函数(值){
log('set cookie');
返回cookie_setter.apply(这是参数);
}
});
})();
});
});