为什么onResourceReceived被PhantomJS调用了两次
Why is onResourceReceived invoked twice by PhantomJS?
假设我有一个phantomJS
脚本,如下所示:
var page = require('webpage').create()
page.onResourceRequested = function (req) {
console.log('requested: ' + req.url);
};
page.onResourceReceived = function (res) {
console.log('received: ' + res.url);
};
var url = 'http://localhost:3000/hello.html'
page.open(url, function (status) {
console.log(page.content);
phantom.exit();
});
当我运行脚本时,requested
只在日志中出现一次,但received
出现两次。你能解释一下received
为什么出现两次吗?
资源可能非常大。如果是,您会注意到"相同"的两个事件之间存在时间差。这是因为第一个是资源接收的开始,下一个是结束。您可以通过检查response.stage
来检查阶段。
参考:page.onResourceReceived
相关文章:
- Meteor Router数据函数被调用两次
- 从MySQL数据库中获取输入数据需要两次页面刷新
- Module.start()已激发两次
- Jquery点击事件必须点击两次
- Append元素在运行两次函数后不显示
- 防止双击执行两次jQuery post请求
- 我必须点击两次才能激活任何按钮操作(离子/角度)
- 单击jQuery会激发两次
- 如何避免在树上走两次
- button.单击两次删除附加操作后不工作
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- 单击元素两次后执行操作
- AngularJs正在阻止链接被点击两次
- 为什么我的路线处理程序会触发两次
- 为什么Highchart在我的rails应用程序中加载了两次?(未捕获的Highcharts错误#16)
- 在列表中至少使用两次随机生成的nr
- 检查某个键是否按下两次
- 一次点击,两次'单击'事件已启动
- 我的所有代码在使用Webpack编译时都会运行两次
- Backbone.js ListenToOnce被调用两次