您是否有過發佈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