您是否有过发布SDK 2应用程序的示例,该应用程序向其“Gear”菜单添加条目,并允许用户通过对话窗口将设置保存到首选项对象?SDK 2:设置对话框的示例
0
A
回答
1
简短的回答是,现在这是不可能的。
我们正试图找出允许用户从自定义应用程序内部进行设置的最佳方式。由于每个应用程序都是在IFrame内部进行沙盒处理,所以App代码无法与齿轮菜单进行交互(因为它不在您的框架中)。
未来我们正在研究如何使自定义应用程序和拉力赛应用程序以统一方式与设置进行交互。
如果您正在查看存储设置,可以查看App对象的文档。在2.0p2版本的SDK中,我们添加了一些功能来帮助您管理应用程序的设置。 现在所有的自定义应用程序将不得不提供自己的界面来访问设置。
2
我结束了使用ExtJS CookieProvider来保存我的应用程序的状态。通过使用Cookie设置是每个用户,我也使他们每个项目。 App类中我的代码如下所示:
...
sessionKey: function() {
return (this.getContext().get('appID') || 'MyAppName') + ':' + this.getContext().getProject()._ref;
},
session: function() {
if (!this.state)
this.state = Ext.state.Manager.get(this.sessionKey()) || {};
return this.state;
},
saveSession: function(newState) {
var session = this.session();
Ext.apply(session, newState);
Ext.state.Manager.set(this.sessionKey(), session);
},
launch: function() {
Ext.state.Manager.setProvider(Ext.create('Ext.state.CookieProvider'));
...
要使用它,只需调用this.session()来获取状态,saveSession()的状态合并回的伟大工程!
它甚至可以在开发模式下工作。请注意,除非您使用tell it to,否则Chrome(和其他浏览器?)不会将cookie保存在file://模式中。
相关问题
- 1. Android中的对话框示例
- 2. 自定义微调器对话框:对话框的popupbackground设置
- 3. Angular 2和Material Designs - 示例对话框为空
- 4. Twitter Bootstrap对话框显示“2次”
- 5. 设置Android对话框位置
- 6. CodeIgniter jQueryUI对话框窗体示例
- 7. 谷歌位置显示设置对话框中多次
- 8. 如何设置Android对话框的MaxWidth?
- 9. jqGrid的设置编辑对话框
- 10. 设置请求对话框的大小
- 11. 设置对话框的“暗淡”颜色
- 12. Angular 2:在对话框组件中设置@Input变量
- 13. 如何为Angular Material 2对话框设置动画?
- 14. 在运行时设置Kendo对话框窗口宽度(Angular 2)
- 15. 自定义对话框:对象引用未设置为对象的实例
- 16. 根据文本设置工具提示对话框的大小
- 17. 如何创建显示网络设置对话框的任务?
- 18. 不能用对话片段设置对话框的标题
- 19. 将框架中的对话框对齐并设置其宽度
- 20. 设置对话框奥里利亚
- 21. 设置对话框覆盖Jquery
- 22. 对话框设置首选项摘要
- 23. 打开对话框保留设置
- 24. Moodle作业设置 - 学生对话框
- 25. 从对话框中设置表单域
- 26. WinForms:实现设置对话框?
- 27. 在对话框中设置变量
- 28. 设置jQuery UI对话框按钮ID?
- 29. 自定义设置项目对话框
- 30. Facebook连接弹出对话框设置
这看起来很不错,可以让我在那里找到大部分路,但是我在使用它的时候遇到了一些麻烦。在我的launch()函数的顶部,我添加了:console.log('settings',this.settings); this.updateSettings({myKey:'是一个测试'});但在刷新时,设置似乎没有改变,我不确定如何与设置对象交互(是否有doc?)。另外,设置的范围是什么?对于应用程序的特定用户?谢谢!!! – kimon 2012-07-09 13:48:05
现在,设置仅与应用程序的实例绑定。因此,如果该应用在仪表板上共享,则所有用户都将具有相同的设置。如果你有两个相同的应用程序,每个应用程序都有不同的设置。 – 2012-07-09 15:11:03
此外,该设置将不会在应用程序不工作在拉力赛内。所以如果你使用本地文件工作,测试它会是一件痛苦的事情。 – 2012-07-09 15:17:36