0

フォンギャップとノックアウトを使用してアプリを作成しています。ローカル ストレージにアクセスする関数が、存在しないキーの null 値ではなく空の文字列を返すようにしたかったのです。何らかの理由で、firefox と safari では正常に動作しますが、chrome で使用しようとすると、または残念なことに私の android デバイスで使用しようとするとクラッシュします。次のようになります。

function get(key) {
var value = window.localStorage.getItem("" + key);
if(value)return value;
return "";

ロジックなしで値変数を返す場合(戻り値;)、機能します。typeof(value)==="string"、value!==null、およびいくつかの trenaries を使用してみましたが、すべてまったく同じ結果が得られました。

function isNull(value){
    try{
        if(value==null) return true;
        return false;
    }
    catch(e){
        return true;
    }
}
function get(key){
    var value = window.localStorage.getItem("" + key);
    if(isNull(value)) return "";
    return value;
}

同じ結果で、プログラムはクラッシュします。誰か助けて?

更新:最終的にこれは機能しました:

function get(key) {
    var value=load(key);
    if(!value) return "";
    return value;
    }
function load(key){
    var value = window.localStorage.getItem("" + key);
//  if(value == null)
//  value = "";
    return value;

}

私は我慢し続けなければならないこのすべてのウェブキットのでたらめにうんざりしています。なぜグーグルは私たちを嫌うのですか?

4

1 に答える 1

0

たぶん、あなたの価値をチェックすることができます

var value = window.localStorage.getItem("" + key);
if(value == null)
value = "";
return value
于 2013-07-11T12:34:01.267 に答える