gpt4 book ai didi

angularjs - Protractor :PhantomJS 中的 Polyfill Function.prototype.bind。不能让它工作,它甚至可能吗?

转载 作者:行者123 更新时间:2023-12-04 12:57:55 26 4
gpt4 key购买 nike

我已经花了一个下午的时间,但没有取得任何进展,我真的开始怀疑这是否可能。

我正在使用 Angular with Headroom 来处理向下滚动时菜单消失的问题。我的测试是使用 Protractor 完成的,使用 PhantomJS,这就是乐趣的开始。

PhantomJS 不支持 .bind()并且 Headroom 到处使用它,这意味着我需要对它进行 polyfill。应该没问题,但我不能让它工作。

我想我的问题是无论我在哪里运行polyfill函数,PhantomJS和测试页面都已经加载了,所以已经太晚了,Headroom会因为.bind()加载失败。不可用。

有没有办法在页面加载之前运行这些方法?我知道我可以通过头部中的脚本标记将它们添加到我的应用程序中,但我宁愿不向整个应用程序添加仅由测试框架使用的内容。

最佳答案

我想我有一个解决方法。 (至少试一试,我们会看看它是否有效)您能做的最好的事情就是修补您的 phantomJS 浏览器以支持此方法。基本上你应该在每个规范之前运行一个脚本,这样它就可以应用于全局范围并且可用于你的规范。

只需尝试扩展您的规范配置。下面是一个例子:

...
specs: ['my_phantomjs_bind_patch.js', 'webtests/**/*.js']
...

关于angularjs - Protractor :PhantomJS 中的 Polyfill Function.prototype.bind。不能让它工作,它甚至可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31194219/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com