Как сделать простой плагин для 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/, выбираем там режим разработчика (если он есть) и нажимаем на применить распакованное расширение. Далее выбираем нашу папку.