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");
ローカルマシンでは許可されていない操作が実行されますが、サーバーにアップロードすると機能します。ストレージユーティリティの例でも同じことを行い、それも機能しました。したがって、要点はサーバーに配置されます。