먼저 Chrome 확장 프로그램 Architecture Overview을 읽어보세요.
팝업 페이지는 팝업이 열려있는 동안에 만 존재하는 "제거 가능"페이지입니다. 당신은 그것에 영향을 줄 수 없습니다. 팝업에서 포커스를 잃으면 HTML 문서가 삭제됩니다.
대조적으로 "persistent": true
이있는 배경 "페이지"(일반적으로 HTML 마크 업이 없으므로 "page"
대신에 "scripts"
이 일반적으로 사용됨)가 Chrome이 실행되는 동안 존재합니다. 따라서 상태 정보를 보유 할 수 있습니다. 그러나 보이지 않는 페이지입니다.
올바른 접근 방식은 팝업 페이지를 동적으로 만들고 상태를 백그라운드 및/또는 다양한 저장소 API에 저장하고 열 때 상태를 복원하는 것입니다.
최소 예 : 링크 및 정보를
// popup.js
// Suppose #myInput is a text input
document.addEventListener('DOMContentLoaded', function() {
chrome.storage.local.get({setting: "default value"}, function(data) {
var inputElement = document.getElementById("myInput");
inputElement.value = data.setting;
inputElement.addEventListener("input", function(e) {
chrome.storage.local.set({setting: e.target.value});
});
});
});
출처
2014-10-16 07:36:14
Xan
감사합니다. 이 링크는 특히 도움이되었습니다. –
@LeeLoftiss 재미있는 사실, 나는 그 대답의 절반에 그 링크를 주어야만한다고 느낀다. 이것은 문서의 더 중요한 부분이되어야합니다. 이것은 기본적으로 모든 것이 작동하는 방식을 이해하기위한 필수 읽기입니다. – Xan
동의합니다. 확장 프로그램에 대한 모든 독본을 보았습니다. 솔루션에서 크롬 저장 장치를 사용했습니다. HTML5 로컬 저장소도 사용 하시겠습니까? 주로 Firefox 용 확장 프로그램을 만들고 싶기 때문에 주로 묻습니다. 그러면 나중에 수행해야하는 포팅이 어려워 질 것입니다. –