0

크롬 확장 옵션 페이지에 웹 사이트를 추가하고 싶습니다. 따라서 "저장"버튼이있는 텍스트 상자가 있으며 나중에 편집하거나 제거 할 수있는 여러 웹 사이트를 저장할 수 있기를 원합니다. 이와 같이 :크롬 확장 옵션 페이지에서 localstorage에 웹 사이트를 추가하려고합니다.

URL 입력 : | _ __ _ __ _ __ | | _ 저장 _ |

편집 제거 - www.google.com
편집 제거 - www.msn.com
편집 제거 - www.yahoo.com 당신이 웹 사이트를 입력하고 저장을 클릭하면, 그것은에 추가합니다

이미있는 웹 사이트 목록. 나는 이것을 달성하는 방법을 찾기 위해 인터넷을 청소하려고 노력했지만, 그것을 완성하기에 충분하지는 않다.

답변

1

나는 chrome.storage 대신 localStorage 권하고 싶습니다 : http://developer.chrome.com/extensions/storage.html

그것은 환상적이다. Google 프로필에 온라인으로 데이터를 저장하도록 선택할 수도 있습니다 (최대 100KB). 그렇지 않으면 오프라인 (100MB 최대, 내 생각).

API도 매우 간단합니다 : 당신이 콜백을 사용하게 될 수 있도록

chrome.storage.local.get('websites', function(items) { 
    console.log('websites:', items.websites); 
}); 

localStorage는 달리, 그것은, 비동기입니다. 하지만 번개가 빠르므로 UI가 알아 채지 못합니다.

  • btnAdd가 다음 목록에 새 LI를 추가 : 그 필요에 쓰기/스토리지의 가상 기록을 유지하지만, HTML에 보관하고로부터 읽어 올 수 없습니다 할 거라고 무엇

  • btnEdit가 텍스트 필드를 채우고 목록에서 LI를 제거 목록 (저장 아니오)
  • btnDelete이 목록에서 LI를 제거하고 목록에서 = GET 항목으로 저장 목록
  • 저장 (btnAdd를 통해 저장)를 저장 어레이에 저장하고 저장 장치에 저장
  • 저장에서
  • 초기화 = 부하 항목과 목록

http://jsfiddle.net/rudiedirkx/Zbpmx/

가 인기가 있기 때문에 내가 jQuery를 있으리라 믿고있어를 입력합니다. 물론 필요하지 않습니다.

이미 문제가있는 경우 Chrome 확장 프로그램을 매우 어려울 것입니다.

+0

이것은 더 나은 해결책 인 것처럼 보이지만 제가 말했듯이, 그것을 완성하기에 충분하지 않습니다. 바라건대 당신은 약간 정교하게 다듬을 수 있습니다. 기본적으로 1 차원 배열을 저장하고 있습니다. 배열에 항목을 추가/편집/삭제할 수 있어야합니다. 배열에 변수를 추가하려면 현재 항목을 가져와야합니다. 즉, .push() 명령을 사용하여 배열에 항목을 추가 한 다음 해당 항목을 추가 된 URL. – Jeremy

+0

여기는 내가 가지고 있지만 오류가 발생했습니다 : 'var URLarray = []; chrome.storage.local.URL 범위 : items { URLarray = items; URLarray.push (itemURL.value); chrome.storage.local.set ({ '웹 사이트 : URL 배열}, function {) { 경고 '} console.log ('websites : ', items.websites); })' – Jeremy

+0

가상 배열/레코드를 보관하지 않습니다. 내 대답을 semi-pseudo-code-ish로 업데이트하겠습니다. – Rudie

관련 문제