1
我今天剛碰到新東西。我想在節點中使用phantomjs,並設置了幻像npm模塊npm link。問題在於你如何得到「document.title」。請看看他們在網站上的代碼示例。javascript回調閉包undefined變量
他們是如何將文檔注入回調函數的?通常它會作爲回調中的參數傳遞,但不知何故文檔在傳遞迴調參數時不可用。
有人可以解釋這是如何完成的?也解釋爲什麼有人會這樣做,而不只是通過參數?
var phantom;
phantom = require('phantom');
phantom.create(function(ph) {
return ph.createPage(function(page) {
return page.open("http://www.google.com", function(status) {
console.log("opened google? ", status);
return page.evaluate((function() {
return document.title;
}), function(result) {
console.log('Page title is ' + result);
return ph.exit();
});
});
});
});
因此這將意味着我可以病房後,我的應用程序在其他地方引用文檔和文件應提供? – uptownhr
正確的是,一旦任何正在運行的腳本在全局範圍內定義'document',而沒有'var'關鍵字,任何正在運行的代碼都可以在任何地方訪問該變量。 –
將其放入全局空間而不是將其作爲參數傳遞的原因是什麼? – uptownhr