将Node.JS变量传递到虚拟节点';s';ONURLCONED';事件,然后退出
我需要对幻影节点的“onUrlChanged”事件中接收到的数据进行一些检查:将Node.JS变量传递到虚拟节点';s';ONURLCONED';事件,然后退出,node.js,phantomjs,Node.js,Phantomjs,我需要对幻影节点的“onUrlChanged”事件中接收到的数据进行一些检查: else (res.statusCode === 200) { var sitepage = null; var phInstance = null; var urlS = options.url; phantom.create() .then(function(instance) { phInstance = instance; ret
else (res.statusCode === 200) {
var sitepage = null;
var phInstance = null;
var urlS = options.url;
phantom.create()
.then(function(instance) {
phInstance = instance;
return instance.createPage();
})
.then(function(page) {
sitepage = page;
page.property('onUrlChanged', function(requestData, networkRequest){
console.log(urlS);
});
console.log('URL OPTS: ', urlS);
return page.open(urlS);
})
.then(function(status) {
console.log('STATUS: ', status);
return sitepage.property('content');
})
.then(function(content) {
setTimeout(function() {
console.log(urlS);
sitepage.close();
phInstance.exit();
cb(redirects);
}, 16000);
})
.catch(function(error) {
console.log(error);
phInstance.exit();
});
}
我在“onUrlChanged”中得到未定义的URL,并在代码下面得到一个值。
这是在幻影节点内使用节点变量的一种方法,还是将幻影节点的变量转发给节点
提前谢谢你
更新:
我通过传递var解决了这个问题。这是phantom官方文档中的错误
page.property('onUrlChanged', function(requestData, networkRequest, outVar, a) {
console.log(outVar);
}, outObj, outObj);
看看它在回调后使用了最后一个outObj变量,但在回调函数中使用了第三个参数
那么,如何返回带有更改的var呢?我想通过文件的读写来实现这一点。但这看起来是个丑陋的选择