YUI 2ストレージユーティリティを使用して、(同じページで)機能した例に従いました。しかし、2番目のページ(たとえばpage2.html)を作成してキーにアクセスしようとすると、値がnullになります。
したがって、1ページ目で私は次のように呼びます。
localStorageEngine.setItem('testText', 'this is a triumph (local storage engine)');
同じページでgetItemを使用すると表示されますが、page2.htmlと言うと次のようになります。
alert(localStorageEngine.getItem('testText'));
nullに戻ります。これがポイントだと思いました。以下は、jquery1.4.2に加えて私が含めたものです
src="http://yui.yahooapis.com/combo?2.8.1/build/yahoo-dom-event/yahoo-dom-event.js&2.8.1/build/cookie/cookie-min.js&2.8.1/build/element/element-min.js&2.8.1/build/swf/swf-min.js&2.8.1/build/swfstore/swfstore-min.js&2.8.1/build/storage/storage-min.js"
これが私のjavascriptコードの大部分です:
//YAHOO.util.Event.onDOMReady(function() {
jQuery(document).ready(function(){
var localStorageEngine;
試す {
localStorageEngine = YAHOO.util.StorageManager.get(
YAHOO.util.StorageEngineHTML5.ENGINE_NAME、
YAHOO.util.StorageManager.LOCATION_LOCAL、
{{
力:false、
注文: [
YAHOO.util.StorageEngineHTML5、
YAHOO.util.StorageEngineSWF、
YAHOO.util.StorageEngineGears
]
}
);
} catch(e){
YAHOO.log( "サポートされているストレージメカニズムはありません。");
localStorageEngine = false;
}
if(localStorageEngine){
localStorageEngine.subscribe(localStorageEngine.CE_READY、function(){
localStorageEngine.setItem('testText'、'これは勝利です(ローカルストレージエンジン)');
localStorageEngine.setItem('testNumber'、1234567890);
localStorageEngine.setItem('testBoolean'、true);
alert(localStorageEngine.getItem('testText'));
console.log( "len:"、localStorageEngine.length);
console.log( "has key:"、localStorageEngine.hasKey( "testText"));
});
}
});
編集:
エリックの答え(非常に役に立ちました!)は機能しましたが、私の場合は特にswf行であることがわかりました(yahooの同じものの代わりにjqueryドキュメントの準備ができていません)。これは、他の点ではほとんど同じである関連コードです。
//YAHOO.util.Event.onDOMReady(function() {
jQuery(document).ready(function(){
YAHOO.util.StorageEngineSWF.SWFURL ='assets / swfstore2-8-1.swf';
編集2 面倒な編集についてお詫びしますが、実装する必要があるのでこの投稿に戻り、Ericの例の2ページ目(彼はそれを削除することを選択するかもしれませんが)がまだ値を設定していることに気付きました。これは、ページ間で値を保持することを実際に例示するものではありません。そこで、これをgetの前の2ページ目に追加し、getItemでアラートを実行すると、nullに戻りました。
/ *
localStorageEngine.setItem('testText'、'これは勝利です(ローカルストレージエンジン)');
localStorageEngine.setItem('testNumber'、1234567890);
localStorageEngine.setItem('testBoolean'、true);
* /
基本的に2ページのセットコードをコメントアウトします。基盤となるDOMStorageオブジェクトについて詳しく読んだ後、特定のドメインに関連付けられていることがわかりました。たとえば、私がそうする場合:
sessionStorage.setItem( "name"、 "Rob");
ローカルマシンでは許可されていない操作が実行されますが、サーバーにアップロードすると機能します。ストレージユーティリティの例でも同じことを行い、それも機能しました。したがって、要点はサーバーに配置されます。