0
    var urihost;
var result =  page.evaluate(function () {
        ............
        "set urihost value from here"
        ............
});

如何从内部函数访问 urihost,使其全局化也不起作用

小提琴:http: //jsfiddle.net/KGLzj/

4

2 回答 2

0

它应该可以正常工作,但我看到您有一些看起来像回调函数的东西。分配结果后可能urihost还没有值 - 因为尚未调用回调函数,并且urihost尚未分配值。

您可以发布更多代码吗?

于 2012-04-27T18:55:36.090 回答
0

我可能误解了你的问题...

但是您的代码应该按原样工作,请参阅this fiddle

// Setup page object:
var page = {
    evaluate: function(func) {
        // Don't forget to call the function...
        func();
    }
};

// The variable you want to change:
var urihost = 1;

// Execute now...
var result = page.evaluate(function () {
    urihost = 2;
});

// The alerted result will be 2
alert(urihost);​
于 2012-04-27T18:58:08.333 回答