如何在使用Phantomjs时关闭严格模式

时间:2013-10-07 09:36:54

标签: phantomjs


   当我们在项目中将Phantomjs与Base2库结合使用时,我们收到以下错误:

+ phantomjs ...../src/test/javascript/SpecRunner.html
TypeError: setting a property that has only a getter

有人能指出如何解决这个问题吗?它似乎是由于Phantomjs内部的Javascript“严格模式”(参见here)而发生的,但无法从Phantomjs文档中找到关于如何关闭此功能,特别是因为它发生在外部库(Base2.js)中我们需要吗?

谢谢,
稻谷

1 个答案:

答案 0 :(得分:0)

Base2.js似乎没有定义“use strict”。这意味着在您的一个javascript文件中,您在任何函数之外都有一个“use strict”行。这将在定义的位置打开严格模式,您无法再将其关闭。最好只在函数声明中打开它。

要找出此问题,请在项目中包含的所有文件中搜索“use strict”或“use strict”。然后将它们移除或移动到函数体内。

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions_and_function_scope/Strict_mode

Can I disable ECMAscript strict mode for specific functions?