Javascript Phantomjs节点injectJS中的窗口上不存在chaij
我试图将一些脚本注入到一个页面中,并使用PhantomJs节点桥将其加载到PhantomJs中 当我将MochaJs注入页面时,我可以进行计算,并且Javascript Phantomjs节点injectJS中的窗口上不存在chaij,javascript,node.js,phantomjs,chai,Javascript,Node.js,Phantomjs,Chai,我试图将一些脚本注入到一个页面中,并使用PhantomJs节点桥将其加载到PhantomJs中 当我将MochaJs注入页面时,我可以进行计算,并且window.mocha对象可用。但是当我注入chaiJs时,window.chai对象不可用 我已经验证了injectJs调用将true状态传递到回调中,这表明脚本已成功注入,并且我还验证了window.chai和window.mocha在plunker中注入后立即可用: 我甚至试过使用page.includeJs('http://cdnjs.cl
window.mocha
对象可用。但是当我注入chaiJs时,window.chai
对象不可用
我已经验证了injectJs调用将true
状态传递到回调中,这表明脚本已成功注入,并且我还验证了window.chai
和window.mocha
在plunker中注入后立即可用:
我甚至试过使用page.includeJs('http://cdnjs.cloudflare.com/ajax/libs/chai/1.10.0/chai.min.js)
为了确保cloudflare cdn版本和我的npm安装版本之间没有差异,它仍然无法工作
我做错了什么
page.injectJs(nodeLibDir + '/chai/chai.js', function(){
//page.injectJs(nodeLibDir + '/mocha/mocha.js', function(){
page.evaluate(function(){
//window.callPhantom(window.mocha.constructor.name);
window.callPhantom(window.chai.version);
}, function(){
console.log('finished');
page.close();
res.json({status: status});
res.end();
});
});
原来我测试的页面w/正在使用requireJs加载一些其他库,因此导致chai没有将自己连接到
窗口。尝试使用不使用requireJs的其他页面,效果如预期。SMH