当我们在项目中将Phantomjs与Base2库结合使用时,我们收到以下错误:
+ phantomjs ...../src/test/javascript/SpecRunner.html
TypeError: setting a property that has only a getter
有人能指出如何解决这个问题吗?它似乎是由于Phantomjs内部的Javascript“严格模式”(参见here)而发生的,但无法从Phantomjs文档中找到关于如何关闭此功能,特别是因为它发生在外部库(Base2.js)中我们需要吗?
谢谢,
稻谷
答案 0 :(得分:0)
Base2.js似乎没有定义“use strict”。这意味着在您的一个javascript文件中,您在任何函数之外都有一个“use strict”行。这将在定义的位置打开严格模式,您无法再将其关闭。最好只在函数声明中打开它。
要找出此问题,请在项目中包含的所有文件中搜索“use strict”或“use strict”。然后将它们移除或移动到函数体内。
Can I disable ECMAscript strict mode for specific functions?