首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Phantomjs-node injectJS中的窗口上不存在ChaiJs

Phantomjs-node injectJS中的窗口上不存在ChaiJs
EN

Stack Overflow用户
提问于 2015-05-23 04:55:15
回答 1查看 72关注 0票数 2

我正在尝试将一些脚本注入到使用PhantomJs node桥加载到phantomjs中的页面中。

当我将MochaJ注入页面时,我可以进行计算,window.mocha对象就可用了。但是当我注入chaiJs时,window.chai对象不可用。

我已经验证了injectJs调用将true状态传递到回调中,这表明脚本已经成功注入,并且我还验证了window.chaiwindow.mocha在注入后立即可以在柱塞中使用,如下所示:http://plnkr.co/edit/gMzjavJqpNDNeYipmBHG?p=preview

我甚至尝试使用page.includeJs('http://cdnjs.cloudflare.com/ajax/libs/chai/1.10.0/chai.min.js')来确保在cloudflare cdn版本中没有差异,并且我拥有的npm安装版本仍然不起作用。

我做错了什么?

代码语言:javascript
复制
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();
                    });

                });
EN

回答 1

Stack Overflow用户

发布于 2015-05-23 05:19:56

事实证明,我测试的页面正在使用requireJs加载一些其他库,因此导致chai无法将其自身附加到window。我尝试了一个不同的页面,但这个页面并没有使用requireJs,它的工作方式和预期的一样。SMH。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30405727

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档