• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Wtyczka do chrome a DOM

Cloud VPS
0 głosów
138 wizyt
pytanie zadane 24 września 2018 w JavaScript przez antypop Mądrala (5,730 p.)

Witam, 

napisałem znajomemu prostą funkcję : 
 

function rep(klucz,klucz2) { 
	var tab = document.getElementsByClassName('namevalue');
	for (var x = 0; x < tab.length; x++) { 
		tab[x].innerText = tab[x].innerText.replace(klucz,klucz2);
}
console.log('check');
}

Jak widać nic zaawansowanego. Chciałbym teraz w ramach rozwijania umiejętności zrobić z tego wtyczkę do Google Chrome :) dwa pola tekstowe wstawiające klucz i klucz2 do funkcji. 

Moje pytanie, gdzie znajdę jakieś w miarę sensowne objaśnienie jak wypełnić manifest.json żeby kod zawarty w wtyczce wykonywał się na aktywnej karcie? :) 

Tak wiem, dokuemntacja googla jest ale jak dla mnie jest strasznie "pokrętna" i niezrozumiała (oby chwilowo :) )

Z góry dziękuję za pomoc.

Pozdrawiam 

1 odpowiedź

+1 głos
odpowiedź 24 września 2018 przez adrian17 Mentor (354,180 p.)
wybrane 8 października 2018 przez antypop
 
Najlepsza

Moje pytanie, gdzie znajdę jakieś w miarę sensowne objaśnienie jak wypełnić manifest.json żeby kod zawarty w wtyczce wykonywał się na aktywnej karcie? :) 

Sama funkcja się sama nie wywoła - potrzebujesz jakiś interfejs, który poprosi usera o wartości klucz i klucz2.

Widzę trzy możliwości:

- dynamiczne dodanie guzika wykonującego akcję (pokaże popup z polami tekstowymi eetc) na stronę - wtedy wystarczy sam content script

- prosty guzik (z akcją-stroną z polami tekstowymi) na pasku narzędzi przeglądarki - wtedy potrzebujesz background page z kodem który odpalisz jednorazowo na stronie przez `tabs.executeScript()`

- podejście mieszane i pewnie najbardziej "ładne" technicznie - guzik (z akcją-stroną) który przekaże informację o akcji do content scriptu na stronie, który wykona samą akcję.

Pierwsze podejście jest raczej najłatwiejsze do zaimplementowania - wtedy manifest wygląda mniej więcej tak:

{
	"name": "test",
	"description": "test",
	"version": "0.1",
	"content_scripts": [
		{
			"matches": ["http://*/*", "https://*/*"],
			"js": ["skrypt.js"]
		}
	],
	"permissions": [
		// nie pamietam na 100% jaki jest minimalny zbior wymagan
		"tabs",
		"<all_urls>"
	],
}

 

Podobne pytania

0 głosów
0 odpowiedzi 151 wizyt
pytanie zadane 22 kwietnia 2018 w JavaScript przez Anoonymous Obywatel (1,560 p.)
0 głosów
1 odpowiedź 145 wizyt
pytanie zadane 24 września 2020 w JavaScript przez Bartek2210 Obywatel (1,310 p.)
0 głosów
1 odpowiedź 284 wizyt
pytanie zadane 6 stycznia 2019 w Inne języki przez bergman Obywatel (1,600 p.)

93,469 zapytań

142,404 odpowiedzi

322,716 komentarzy

62,852 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...