0

content_script에서 페이지의 localStorage 변수에 액세스하려고합니다 (content_script에서 페이지 cookies에 액세스 할 수있는 것과 유사).크롬 확장 프로그램 : content_script에서 페이지의 HTML5 localStorage에 액세스

content_script에서 페이지의 쿠키에 액세스하는 데 문제가 없습니다.

그러나 콘텐츠 스크립트에서는 localStorage.getItem("showDash")localStorage.setItem("showDash", "value")이 작동하지 않습니다. 브라우저는 그것을 인식하는 것 및 오류가 발생하지 않습니다

Uncaught TypeError: undefined is not a function 

localStorage이 content_scripts에서 작동하지 않습니다? 이 문제를 해결할 수있는 방법은 없나요? 의 manifest.json의

부분 : page_handler.js의

"content_scripts": [{ 
    "matches": ["https://cms.mmu.edu.my/*"], 
    "js":   ["angular.min.js", "jquery.min.js", "page_handler.js"] 
    }] 

부분 :

if (! localStorage.getItem("DashIsOn")) 
    localStorage.setItem("DashIsOn", "true"); 
+1

콘텐츠 스크립트를 사용하여 localStorage에 액세스하고 가져올 수 있으며 사용자의 오류가 다른 위치에있을 수 있음을 나에게 알립니다. 주변 코드를 게시 할 수 있습니까? – Alex

+0

@Alex I second Alex. 문제가 없어야하며 문제없이 직접 해결해야합니다. –

+0

이상합니다. 이 줄을 삽입하는 순간 'localStorage.setItem ("DashIsOn", "true");' , 그것은 나에게 오류를 준다. 줄이 js 파일의 본문에 배치됩니다. –

답변

0

localStorage 콘텐츠 스크립트에서 액세스, 당신은 쉽게 테스트 할 수 있습니다. 이 stackoverflow.com 활성을 유지하고 배경 페이지 스크립트/콘솔에서 다음 코드를 실행 (질문이 하나처럼)에 탭을 엽니 다

chrome.tabs.query({active:true}, function(tabs) { 
    chrome.tabs.executeScript(tabs[0].id, {code: 'alert(localStorage.getItem("se:fkey"));'}); 
}); 

당신은 볼 경고 것 그 Stack Exchange 키를 보여주십시오. 따라서 문제는 코드의 다른 부분에 있거나 어쩌면 콘텐츠 스크립트 이외의 다른 곳에서 localStorage.getItem()을 사용하고 있습니다. manifest.json 파일과 전체 content.js 스크립트와 같이 질문에 코드를 추가하는 것이 좋습니다.

+0

내 크롬 확장 프로그램은 내부적으로 'localStorage'를 사용합니다 콘텐츠 스크립트는 스크립트 태그를 만들 필요가 없습니다. –

+0

그렇다면 왜 쿠키가 작동합니까? –

+0

@OmriAharon OP는 콘텐츠 스크립트의 localStorage가 아닌 ** 페이지의 localStorage **에 액세스하려고합니다. 따라서 그는 스크립트 태그를 삽입해야합니다. –

관련 문제