2013-07-16 2 views
4

저는 모바일 웹 앱인 프로젝트를 진행하고 있습니다. 나는 JQuery 모바일을 사용하고있다.로컬 저장소와 웹 SQL

jquery listview가있는 페이지가 있는데, 사용자가 목록보기에서 각 항목을 클릭하면 해당 항목과 관련된 모든 데이터가 대화 상자 페이지로 전달됩니다. 로컬 저장소를 사용하여 페이지간에 값을 전달했습니다. 그러나 내가하려는 것은 사용자의 활동을 기록하고 활동 피드로 표시하는 것입니다. 클릭 한 항목을 저장하고 열린 대화 상자 페이지에 머문 시간, 새 페이지에이 정보를 모두 표시 할 수 있습니다. 예를

당신은 당신은 등

그래서 로컬 저장이 나 또는 웹 SQL에 대 한 좋은 것

b를 항목에 15초을 보냈다

항목을 클릭?

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가 열려있는 기간을 기록하고 "엄지 손가락 업"이미지가 클릭되거나 "엄지 손가락 내려 가기"가 클릭 된 경우 해당 페이지 레코드 내에 기록하십시오 세부 정보를 현지 ftorage에 보내고 새 페이지에서 검색하여 보여줍니다. 이렇게 할 때 로컬 스토리지를 사용하는 방식을 이해하는 것처럼 보일 수 있습니다. 내 자바 스크립트 붙여 넣은 here

당신에게 더 좋은 아이디어를 줄지도 모릅니다.

+0

로컬 저장소가있는 경우이를 사용하는 것이 좋습니다. 사용하기 쉽고 어떤 유형의 쿼리 언어도 찾지 않으므로 모든 유형의 SQL이 과도하게 사용됩니다. – Archer

+0

@Archer 현재 사용자가 클릭 할 때 항목을 저장하기 위해 로컬 저장소를 사용합니다. 사용자가 클릭 한 모든 항목을 검색 할 수 있기를 원하지만 사용자가 새 항목을 클릭 할 때마다 키를 덮어 씁니다. 마지막으로 저장된 항목 만 검색 할 수 있습니다. 사용자가 클릭하는 모든 항목에 대해 다른 키를 제공해야합니까? 그렇다면 내가 어떻게 목록을 반복하고 있기 때문에 이것이 달성 될 수 있습니까? : s – Dot

+0

모든 항목 정보가 들어있는 객체를 저장할 수 있습니다. 그냥 개체를 검색하고 새 정보를 쓰고 다시 저장하십시오. 어떤 종류의 정보를 클릭당 저장할 것인지 예를 들면, 나는 당신을 위해 모범을 보이고 답을 게시 할 것입니다. – Archer

답변

7

WEB SQL은 더 이상 사용되지 않지만 일부 플랫폼에서는 여전히 사용 가능합니다. http://caniuse.com/#feat=sql-storage localstorage 우리는 당신을 솔루션으로 사용할 가능성이 높습니다. 다른 저장 장치 저장소 및 동기화와 같은 좋은 기능을위한 교차 어댑터가 있으므로 더 많은 저장소가 필요하다고 생각하면 http://pouchdb.com/을 사용하십시오.

+3

+1 PouchDB 용. 그것은 웹 SQL을 아주 잘 대체하는 우아한 솔루션입니다. – Seiyria

+0

@timmak 감사 합니다만, poucheDB를 살펴볼 것입니다. 그러나 로컬 스토리지가 훌륭한 솔루션 인 경우 사용할 수 있기를 원하지만 확실한 방법은 아닙니다. 여러 항목을 저장하는 방법은 구현 방법입니다. 새 페이지에서 모두 검색하십시오. – Dot

+0

@Dot http://brian.io/lawnchair/ 이걸로 도움이 될 것입니다. – timmak