基本上,我访问的页面使用RequireJS。我想对这个页面进行调整,所以我选择了一个用户脚本。在查看客户端代码时,我发现有一个模块定义如下:
define("settings", [], function() {
return {
SETTINGA: "100",
SETTINGB: "200",
etc.
}
})
我想将自己的项目添加到设置数组,以及更改一些设置,而无需在我的用户脚本中重新定义模块(带有更改),然后删除/读取它。是否可以只对这个模块进行调整?
P.S。我正在使用Script Injection技术让我的用户脚本与原始页面中的其他javascript进行交互。
此外,在Javascript控制台中执行require("settings")
会返回一个对象(不是数组),因此我无法执行require("settings")[0]
或require("settings").push(...)
之类的操作,但是我可以访问这些设置做require("settings").SETTINGA
。所以,我不确定如何添加/重新定义设置,因为它不是一个数组?
答案 0 :(得分:4)
使用此:
require('settings').new_property = 'new value';
答案 1 :(得分:2)
您无法检索或添加设置的原因"设置数组"是你不是要创建一个数组开始。 {foo:bar}
是对象文字,而不是数组文字([foo,bar]
)。