Javascript dat.gui是否从外部JSON加载设置?
我有一个带有dat.gui界面的webapp,我希望人们能够彼此共享他们的设置。我知道您可以将预设保存到本地存储文件,或者直接将其作为JSON对象保存在源代码中。() 我在dat.gui的旧版本中看到了一个Javascript dat.gui是否从外部JSON加载设置?,javascript,json,user-interface,dat.gui,Javascript,Json,User Interface,Dat.gui,我有一个带有dat.gui界面的webapp,我希望人们能够彼此共享他们的设置。我知道您可以将预设保存到本地存储文件,或者直接将其作为JSON对象保存在源代码中。() 我在dat.gui的旧版本中看到了一个saveURL()函数,我认为该函数在查询字符串中传递了设置。() 在当前版本中,是否可以在pageload上向gui传递任意JSON,或者通过查询字符串指定指向JSON文件的链接?我创建了一个示例(使用dat.gui版本0.5),该示例演示了在初始化dat.gui对象时从JSON文件加载预设
saveURL()
函数,我认为该函数在查询字符串中传递了设置。()
在当前版本中,是否可以在pageload上向gui传递任意JSON,或者通过查询字符串指定指向JSON文件的链接?我创建了一个示例(使用dat.gui版本0.5),该示例演示了在初始化dat.gui对象时从JSON文件加载预设值:
“重新水合物化”dat.GUI对象的代码的关键部分如下:
var json = '{ \
"preset": "Default",\
"closed": false,\
"remembered": {\
"Default": {\
"0": {\
"message": "Value from JSON",\
"speed": 5,\
"displayOutline": true,\
"color1": [\
128,\
128,\
128\
]\
}\
}\
},\
"folders": {}\
}';
var text = new datGUI();
var gui = new dat.GUI({ load: JSON.parse(json) });
注意“message”值(例如)如何具有来自JSON的值(即“value from JSON”),而不是默认的dat.GUI对象(即“dat.GUI”)中的值
实际上,您可以从文件中获取JSON,而不是对其进行硬编码。还要注意使用JSON.parse()
将JSON字符串转换为JSON对象