2016-04-26 5 views
-1

値を保持しません:fileNameElemargFileNameが含まれているためのJavaScriptのlocalStorageを私は持っている

var setFileName = function(argFileName) 
{ 
    localStorage.fileName = argFileName; 
    fileNameElem.value = localStorage.fileName; 
}; 

var getFileName = function() 
{ 
    return localStorage.fileName ? localStorage.fileName : getDefaultFileName(); 
}; 

setFileName()で動作します。しかし、いつでもgetFileName()と呼ぶといつもgetDefaultFileName()

なぜですか?

+0

これを確認してください。 https://developer.mozilla.org/en/docs/Web/API/Window/localStorage – DININDU

+0

すぐ問題は見えませんが、FWIWの3者演算子は 'return localStorage.fileName ||に置き換えることができます。 getDefaultFileName() ' – Alnitak

+0

@Alnitak。私はそれを変更します – DININDU

答えて

0

あなたは

は、あなたが見てみたい

localStorage.getItem('filename'); 

は、念のためにjsfiddleで編集し、ローカルストレージから取得する

localStorage.setItem('fileName', value); 

を使用し保存するには、この構文を使用する必要があります。

https://jsfiddle.net/fo38uo9t/1/

+0

[W3C仕様](https://html.spec.whatwg.org/multipage/webstorage.html#the-storage-interface)によれば、プロパティ・アクセッサを使用して 'localStorage'から読み書きすることは完全に合法です。唯一の例外は、実際のプロパティ(または 'localStorage'オブジェクトのプロトタイプチェーンを介して継承されたもの)で名前を共有するプロパティを保存したい場合です。 – Alnitak

+0

@Alnitakよく"私はあなたが使用しているはずです "に変更しました。何らかの理由で、私は構文が有効ではないと考えました。とにかくset&getを使う方が安全でしょうか? – QoP

+0

より安全かもしれませんが、OPの問題の理由はほとんどありません。 – Alnitak

関連する問題