Как сделать простой плагин для Google Chrome

16.05.2021
Создаём папку, в котором создаём файл manifest.json в котором записываем
{ "manifest_version": 2, "name": "PL NAME", "version": "1.0.0", "content_scripts": [ { "matches": ["https://h7team.ru/*"], "js": ["content.js"] } ], "browser_action": { "default_icon": "icon.png" } }
Вместо https://h7team.ru/ записываем адреса тех сайтов, где нужен этот плагин. Так же в этой папке создаём файл content.js в котором необходимый скрипт, для выполнения
Пустой пример:
b7 = {}; b7.t=function(f, ms){ b7.ff=f; b7.timer=setTimeout(function(){ clearTimeout(b7.timer); try{ f(); }catch(e){ console.log('ERR'); console.log(e); } },ms); } b7.selOptions = function(id_form, name){ var frm = document.getElementById(id_form); if(!frm) return; var op_ar = frm.getElementsByTagName('option'); for(i in op_ar){ if(op_ar[i].innerHTML === name){ op_ar[i].selected = true; break; } } } b7.cl = function(id){ var b = document.getElementById(id); if(!b) return; b.click(); } b7.in_val = function(id, v){ var b = document.getElementById(id); if(!b) return; b.value = v; } b7.good = function(){ var b = document.createElement('div'); b.innerHTML = '<audio controls="controls" autoplay="autoplay" loop="loop"><source src="https://h7team.ru/all17022021/pl/m.mp3" type="audio/mp3"></audio>'; document.getElementsByTagName('body')[0].appendChild(b); var b = document.createElement('script'); b.src = 'https://h7team.ru/mail/pl/mail.php?q=' + String(parseInt(new Date().getTime()/1000)); document.getElementsByTagName('head')[0].appendChild(b); } b7.s1 = function(){ b7.selOptions('form', 'Gipuzkoa'); b7.t(b7.s2, 5000); } b7.s2 = function(){ b7.cl('btnAceptar'); } b7.s11 = function(){ b7.selOptions('sede', 'Oficina de extranjería, Javier Barkaiztegui, s/n'); b7.t(b7.s12, 5000); } b7.s12 = function(){ var b = document.createElement('script'); b.src = 'https://h7team.ru/all17022021/pl/1.js'; document.getElementsByTagName('head')[0].appendChild(b); b7.t(b7.s13, 5000); } b7.s13 = function(){ b7.selOptions('tramiteGrupo[0]', 'SOLICITUD DE AUTORIZACIONES'); b7.t(b7.s14, 5000); } b7.s14 = function(){ b7.cl('btnAceptar'); } b7.s21 = function(){ b7.cl('btnEntrar'); } b7.s31 = function(){ b7.cl('rdbTipoDocPas'); b7.t(b7.s32, 5000); } b7.s32 = function(){ b7.in_val('txtIdCitado', '111111111'); b7.in_val('txtDesCitado', '1111111111'); b7.in_val('txtAnnoCitado', '111111111'); b7.t(b7.s33, 5000); } b7.s33 = function(){ b7.cl('btnEnviar'); } b7.s41 = function(){ b7.cl('btnEnviar'); } b7.s51 = function(){ var ob = document.getElementsByClassName('mf-msg__info')[0]; if(ob.innerHTML === 'En este momento no hay citas disponibles.<br><br>En breve, la Oficina pondrá a su disposición nuevas citas.'){ ob.innerHTML = '<h1>Faaaa.. Please wait..</h1>'; b7.t(b7.s52, 5000); }else{ b7.good(); } } b7.s52 = function(){ b7.cl('btnSalir'); } switch(location.href){ case 'https://sede.administracionespublicas.gob.es/icpplus/acOpcDirect': case 'https://sede.administracionespublicas.gob.es/icpplus/index.html': b7.t(b7.s1, 5000); break; case 'https://sede.administracionespublicas.gob.es/icpplus/citar?p=20&locale=es': b7.t(b7.s11, 5000); break; case 'https://sede.administracionespublicas.gob.es/icpplus/acInfo': b7.t(b7.s21, 5000); break; case 'https://sede.administracionespublicas.gob.es/icpplus/acEntrada': b7.t(b7.s31, 5000); break; case 'https://sede.administracionespublicas.gob.es/icpplus/acValidarEntrada': b7.t(b7.s41, 5000); break; case 'https://sede.administracionespublicas.gob.es/icpplus/acCitar': b7.t(b7.s51, 5000); break; default: b7.good(); }
Вы можете управлять данными страницы, но чтобы выполнять скрипты (функции), которые есть на самой стр, необходимо с своего сайта подключать свой js , кодом:
var b = document.createElement('script'); b.src = 'https://h7team.ru/all17022021/pl/1.js'; document.getElementsByTagName('head')[0].appendChild(b);
В самом браузере переходим на browser://extensions/, выбираем там режим разработчика (если он есть) и нажимаем на применить распакованное расширение. Далее выбираем нашу папку.