クリックするとページ上の jQuery 要素を非表示にするクロム拡張機能を作成しています。
この要素への参照を chrome.storage API に保存する必要があるため、後でページが読み込まれたときに、その要素を再び非表示にすることができます。
ページの読み込み時に DOM ツリーが再構築されることは知っていますが、これが何かに影響するかどうかはわかりません。要素はページ上の何でもかまいませんので、必ずしもクラス/ID 名を持つ必要はありません。
参照を保存するための最良の方法は何ですか? これを行う方法についてのアイデアはすべてありません(JavaScriptの真新しい)。
アップデート
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が述べたように、ページが静的でない場合は完璧なアプローチではありませんが、必要なことは実行します