Zgodnie z założeniem, zrobiłem najprostszy feature, aby móc jak najszybciej wrzucić rozszerzenie do Chrome Web Store. Czyli na pierwszy ogień wziąłem: Wieksze pole do wiadomości:


Postanowiłem inaczej rozplanować strukturę projektu niż w poprzednim extensionie JustJoin.IT, gdzie miałem jeden plik core.js zawierający wszystko co potrzebne.

Tutaj każdy feature będzie jako osoby plik dołączany dynamicznie na podstawie urla.
W pliku background.js mamy prostą funkcję pobierającą nazwę feature’a
function getFeatureName(currentUrl) {
if (/wykop\.pl\/wiadomosc-prywatna/i.test(currentUrl)) {
return "bigger-field-messages";
}
return "";
}
Natępnie wczytujemy wybrany feature:
const featureName = getFeatureName(tab.url); // pobieramy nazwe
if (featureName == "") {
return;
}
chrome.scripting
.executeScript({
target: {
tabId: tabId,
allFrames: false,
},
files: [`./features/${featureName}.js`], // dodajemy plik zawierający logikę feature'a
})
.catch((err) => console.log(err));
}
Myślę, że struktura projektu, tutaj jest najciekawsza.
Co do samego feature’a, to nic się tam specjalnego nie dzieje. Szukamy odpowiednich elementów DOM i wyliczamy nową wysokość wiadomości (.pmStreamView), nuda.
Wrzuciłem do sklepu rozszerzenie i czekam aż zostanie opublikowane. Trwa to gdzieś z parę dni.
Dam znać jak już się pojawi do instalacji.
to be continued ヘ( ^o^)ノ\(^_^ )