클릭시 페이지에 jQuery 요소를 숨기는 크롬 확장을 생성합니다.여러 페이지에 요소 숨기기
이 요소에 대한 참조를 chrome.storage API에 저장해야하므로 나중에 페이지를로드 할 때 해당 요소를 다시 숨길 수 있습니다.
페이지로드시 DOM 트리가 다시 작성된다는 것을 알고 있으며 이것이 어떤 영향을 주는지 확신 할 수 없습니다. 요소는 페이지의 모든 요소 일 수 있으므로 클래스/ID 이름이 반드시 필요한 것은 아닙니다.
참조를 저장하는 가장 좋은 방법은 무엇입니까? 나는이 일을하는 방법에 대한 아이디어가 전혀 없다.
Xan에 의해 제안으로 업데이트
, 지금 요소에 대한 참조를 저장하는 XPath를 사용하고 있습니다.
는 // 요소가
var elem = e.target || e.srcElement;
$(elem).click(function() {
xPathOfElem = getElementXPath(elem); //Get xPath of element
updateStorage(xPathOfElem);
$(elem).hide("");
return false;
});
// 스토어는
function updateStorage(xPathOfElem) {
chrome.storage.sync.set({"element":xPathOfElem} //set xPath to storage
, function (data) {});
};
//로드에 검색 받기 나중에
function getStorage() {
chrome.storage.sync.get(null, function (data) {
$(getElementsByXPath(document, data.element)).hide(""); //get and hide element
});
}
window.onload = function() {
getStorage();
};
은 Xan하지 완벽한 접근 방식의 경우, 언급 한 바와 같이 페이지가 고정되어 있지 않지만 필요한 부분을 수행합니다.
감사합니다. XPath는 유망하다고 생각합니다. 요소에 대해이 경로를 만드는 방법을 자세히 살펴 보겠습니다. – user3559805