4

私は、モバイル Web アプリであるプロジェクトに取り組んでいます。JQueryモバイルを使用しています。

ユーザーがリストビューの各アイテムをクリックすると、そのアイテムに関連付けられたすべてのデータがダイアログページに渡されます。ページ間で値を渡すためにローカル ストレージを使用しました。しかし、私がやろうとしているのは、ユーザーのアクションを記録し、それらをアクティビティ フィードとして表示することです。どのアイテムをクリックしたか、開いたダイアログ ページで費やした時間を保存し、このすべての情報を新しいページに表示できるようにします。例

項目 a をクリックしました

アイテム b に 15 秒費やしました

では、ローカル ストレージはこれまたは WEB SQL に適しているのでしょうか?

また、Web SQL が積極的にメンテナンスされていないことにも気付きましたか? http://www.w3.org/TR/webdatabase/ これは非推奨になるということですか?

ローカル ストレージの例:

各アイテムはjsonオブジェクトです。オブジェクト全体を渡して新しいページで表示する必要があるため、次のようにします。

function addPostToLocalStorage(YTfeeditems){
    $(".item").on('click', function () {
        
        var i = $('.item').index(this);
        console.log(i);
        
        var Viditem = YTfeeditems[i];
        console.log(Viditem);

        localStorage['youtubeclickedPost'] = JSON.stringify(Viditem);
        storedItem = localStorage['youtubeclickedPost'];
        retrievPostFromLocalStorage();
    }
});

function retrievPostFromLocalStorage(){
    var retrievedStringItem = localStorage.getItem(['youtubeclickedPost']);
    var convertedPost = JSON.parse(retrievedStringItem);
    showDetailedPost(convertedPost);
}

アイテムがクリックされたとき、ビデオのIDを保存し、クリックされた時間を記録し、ytfullviewpageが開いていた時間を記録し、そのページ内で「親指を立てる」画像がクリックされた場合、または「親指を立てた場合」 down」がクリックされた場合、これらの詳細をローカル ftorage に追加し、それらを新しいページで取得して表示します。これを行う際にローカルストレージを使用するアプローチを理解しているようです。このためのJavaScriptをここに貼り付けました

より良いアイデアが得られるかもしれません。

4

1 に答える 1

7

WEB SQL は非推奨ですが、一部のプラットフォームではまだ利用できますhttp://caniuse.com/#feat=sql-storage localstorage 解決策としては問題ないでしょう。より多くのストレージが必要だと思われる場合は、http://pouchdb.com/を使用してください。これには、さまざまなブラウザー ストレージ用のクロス アダプターと、同期などのいくつかの優れた機能があります。

于 2013-07-16T15:43:12.683 に答える