我似乎無法找到最近記錄在某處的dojox.storage。是dojox.storage
在中破解1.7(AMD)?它似乎單元測試甚至沒有工作。在FF或IE上,/dojo-release-1.7.2-src/dojox/storage/tests/test_storage.html
上的示例似乎不起作用。哪裏在工作dojox.storage AMD例子?
使用本地存儲的推薦方法是什麼?在我們的情況下,我們希望使用HTML5存儲,當存儲不可用時,它會回退到Cookie存儲。
我似乎無法找到最近記錄在某處的dojox.storage。是dojox.storage
在中破解1.7(AMD)?它似乎單元測試甚至沒有工作。在FF或IE上,/dojo-release-1.7.2-src/dojox/storage/tests/test_storage.html
上的示例似乎不起作用。哪裏在工作dojox.storage AMD例子?
使用本地存儲的推薦方法是什麼?在我們的情況下,我們希望使用HTML5存儲,當存儲不可用時,它會回退到Cookie存儲。
根據http://dojotoolkit.org/reference-guide/1.8/dojox/storage.html和http://bugs.dojotoolkit.org/ticket/14465,預計不會dojox.storage與AMD合作並不會一會兒。
這就是說,這確實爲我工作在道場1.8.3:
require(["dojox/storage", "dojo/ready"], function (storage, ready) {
ready(function() {
var storageProvider = dojox.storage.manager.getProvider();
storageProvider.initialize();
var vals = storageProvider.get("InventoryMainSelectionHistory");
var i = 1;
});
});
以下示例來自http://dojotoolkit.org/reference-guide/1.8/dojox/storage.html它正在使用Dojo 1.7及更高版本。
dojo.require("dojox.storage");
var storageProvider=null;
dojo.addOnLoad(function(){
dojox.storage.manager.initialize();
storageProvider=dojox.storage.manager.getProvider();
storageProvider.initialize();
var myObject={key1:true};
storageProvider.put("myValue", myObject, function(status, keyName){
alert("value put in "+keyName);
});
});
如果我們想使用AMD? – djna
顯然這將在2.0中被棄用 –
至於道場1.9.2,dojox.storage
測試(/dojox/storage/tests/test_storage.html
)不能正常工作。接近檢查後,它正好是在那個特定的代碼初始化問題:
// wait until the storage system is finished loading
dojo.addOnLoad(function(){
// is the storage already loaded?
if(dojox.storage.manager.isInitialized() == false){
dojo.connect(dojox.storage.manager, "loaded", TestStorage, TestStorage.initialize);
}else{
dojo.connect(dojo, "loaded", TestStorage, TestStorage.initialize);
}
});
偵聽器已註冊的等待事件「裝」上的道場,這是不是在新版本的Dojo叫。改變後的代碼:在Firefox和IE 10.
的示例功能(LocalStorageProvider)我使用在1.7.1的dojox.storage.manager和它似乎工作HTML5上(本地存儲)瀏覽器,我還沒有在較老的(可怕的)瀏覽器上測試它。我沒有使用全AMD /異步,因爲dojox.storage模塊在1.7.1中不是AMD。 – Andrew