【发布时间】:2017-08-11 14:30:21
【问题描述】:
举个例子,为什么是categoryIdnull?
var scripts = this.evaluate(function() {
var raScripts = "A lengthy script";
return raScripts;
});
var categoryId = this.evaluate(function() {
var text = 'more text';
var lengthyScript = scripts + ' ' + text;
return lengthyScript;
});
this.echo('Status: ' + categoryId);
// categoryId is null
【问题讨论】:
-
变量
scripts在页面上下文之外定义,但在内部使用。 -
我如何在
this.evaluate函数之外使用raScripts变量? -
您已经通过从
evaluate回调中返回它来做到这一点。raScripts的值等于scripts的值(如果该值是没有循环引用的原始对象)。您只需要将script的值传递回页面上下文,以便在页面上下文中进行下一次“计算”。
标签: javascript phantomjs casperjs