2014-02-07 2 views
0

사용자가 웹 페이지에서 텍스트를 강조 표시 할 수있는 Chrome 확장 프로그램을 만들고 있습니다. 간단하지만 그것은 내가 배우는 것을 돕는 것입니다. 바로 지금, 나는 붙어있어 문제를 가장 잘 풀 수있는 방법을 찾고 있습니다.localstorage에 여러 텍스트 선택 저장

현재 페이지에서 지속되는 선택된 텍스트를 강조 표시 할 수 있습니다.

나는 사용자가 강조 표시된 범위를 선택하고 강조 표시를 취소 동일한 브라우저 동작을 사용할 수있는 지점에 도착하기 위해 노력하고있어

function addHilite(color) { 
    var range, sel = window.getSelection(); 
    if (sel.rangeCount && sel.getRangeAt) { 
     range = sel.getRangeAt(0); 
    } 
    document.designMode = "on"; 

    if (range) { 
     sel.addRange(range); 
    }; 

    if (!document.execCommand("hiliteColor", false, "#FFFF00")) { 
     document.execCommand("backColor", false, "#FFFF00"); 
    } 
    document.designMode = "off"; 
    console.log(range); 
} 

자바 스크립트. 난 localStorage 각 클릭 사이의 상태를 저장하는 좋은 방법이 될 줄 알았지 만 참조 용 문자열로 여러 범위를 저장하는 방법을 알아낼 수 없습니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?

localStorage 실험

function sel() { 
    var getText = window.getSelection().toString(); 
    localStorage.setItem('getText', JSON.stringify(getText)); 

    console.log(JSON.parse(localStorage.getItem('getText'))); 
} 

답변

0

은이 같은 것을 의미합니까?

var selections = []; 

function sel() { 
    var getText = window.getSelection().toString(); 
    selections.push(getText); 
    localStorage.setItem('getText', selections); 

    console.log(localStorage.getItem('getText')); 
} 
+0

내가하고 싶은 것을보고 있지만 내 원본 스크립트와 동일한 결과를 생성합니다. 그렇지 않으면 배열을 적절하게 호출하여 ** 저장된 모든 데이터를 표시하지 않습니다. – Brian

관련 문제