Где взять скрипт под Gmail ? Устанавливал эту 4.1.8 от sdmitrij не фурычит Откатился на старую версию 3.25.Сижу на 55 версии
яндекс и маил работают.А вот Gmail никак Читал где-то что гугл запретил вроде все скрипты js.Реально ли замастырить скрипт под гмаил или все нерешаемо??
Отсутствует
/*********************************************************** Gmail ***********************************************************/ var supportInboxOnly=true; var supportShowFolders=true; var supportIncludeSpam=true; var supportMulti=true; function init(){ this.initStage=ST_PRE; this.loginData=["https://accounts.google.com/ServiceLoginAuth?service=mail", "Email","Passwd","PersistentCookie=yes"]; this.baseURL="https://mail.google.com/mail/"; this.viewDomain="(mail|accounts).google.com"; this.dataURL=this.baseURL; this.viewURL=this.baseURL; this.logoutURL="https://accounts.google.com/Logout"; } function getIconURL(){ return "https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon2.ico"; } function getURL(url,n){ if(n==null)return url; else return url.replace(/(\?\S+)?$/,"u/"+n+"/$1"); } function checkLogin(aData){ switch(this.stage){ case ST_CHECK: if(this.multiId==0)this.viewURL=this.baseURL; else this.viewURL=this.getURL(this.baseURL,this.multiId); this.getHtml(this.viewURL); return false; case ST_CHECK+1: var fnd=aData.match(/\"https:\/\/accounts.google.com\/Logout/); if(fnd){//logged in var rs=this.isLoggedIn(aData); if(rs==1){ this.stage=ST_LOGIN_RES+1; return this.process(aData); }else if(rs==0){//switch account; this.stage=ST_LOGIN_RES+1; this.getHtml(this.viewURL); return true; }else if(this.multiId==0){ this.stage=ST_PRE; this.getHtml(this.logoutURL); return true; } } this.stage=ST_PRE; return this.process(""); } } function isLoggedIn(aData,brief){ var user=this.user.indexOf("@")==-1?this.user+"@\\S+?":this.user; user=user.replace(/@googlemail.com/,"@(?:g|google)mail.com"); var isCurrent=true; var reg=new RegExp("\"\\/mail(?:\\/u\\/(\\d+))?\",\\S+?,\"(\\S+?)\",\""+user+"\"","i"); var fnd=aData.match(reg); var fnd2=aData.match(/GM_ACTION_TOKEN="(\S+?)"/); if(!fnd){ if(brief&&this.UI==2)return 0;//mla is off isCurrent=false; reg=new RegExp("\""+user+"\",\\d+,\\d+,(\\d+)","i"); fnd=aData.match(reg); } if(fnd&&fnd2){ if(fnd[1]){ this.mid=fnd[1]; if(this.multiId==0&&this.mid!=0)return -2; } this.viewURL=this.getURL(this.baseURL,this.mid); if(isCurrent){ this.dataURL=this.viewURL+"?ui=2&ik="+fnd[2]+"&at="+fnd2[1]+"&view=tl&start=0&num=25&rt=c&as_has=is%3Aunread&as_subset="+(this.inboxOnly?"inbox":"all")+"&search=adv"; var fnd3=aData.match(/"sx_iosc"\s*,\s*"(\S+?)"/); if(fnd3&&(fnd3[1]=="^u|"||fnd3[1]=="^t|"))this.useInboxCount=true; var fnd4=aData.match(/"ix_ioiut"\s*,\s*"(\S+?)"/); if(fnd4&&fnd4[1]=="1")this.useInboxCount=true; this.UI=2; return 1; }else return 0; } //basic HTML fnd=aData.match(/<base\s+href="(https:\/\/mail.google.com\/mail(?:\/u\/(\d+))?\/h\S+?)"/); reg=new RegExp("id=(?:gbf|gbgs4dn).+?>"+user+"<","i"); var fnd2=aData.match(reg); if(fnd&&fnd2){ if(fnd[2]){ this.mid=fnd[2]; if(this.multiId==0&&this.mid!=0)return -2; } this.viewURL=fnd[1]; this.dataURL=fnd[1]+"?s=q&q=is%3Aunread"+(this.inboxOnly?"+in%3Ainbox":""); this.UI=0; return 1; } return -1; } function process(aData,aHttp) { //dout(this.ind+" "+this.user+" "+this.stage); if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData); switch(this.stage){ case ST_PRE: this.getHtml("https://accounts.google.com/"+(this.multiId==0?"ServiceLogin":"AddSession")+"?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&rip=1&nojavascript=1"); return false; case ST_PRE_RES: var form=this.getForm(aData,"gaia_loginform",true); if(form){ this.stage=ST_LOGIN; this.getHtml("https://accounts.google.com/"+(this.multiId==0?"signin/challenge/sl/password":"multilogin/challenge/sl/password"),this.loginData[LOGIN_POST]+"&"+form[1]); return false; } break; case ST_LOGIN_RES: var form=this.getForm(aData,"challenge",true); if(form){//2-step verification this.form=form; this.stage=ST_LOGIN_RES+3; this.openAuthDialog(this.id,this.user,null); return true; } ++this.stage; case ST_LOGIN_RES+1: var fnd=aData.match(/action="ChromeLoginPrompt"/); if(fnd){ this.getHtml(this.viewURL); return false; } ++this.stage; case ST_LOGIN_RES+2: if(this.isLoggedIn(aData)==1){ var fnd=aData.match(/\["sld",\[(\[[\s\S]+?\])\]/); if(fnd){ var re=/\["(.+?)"\s*,\s*"(.+?)"/g; var o; this.smartlabel={}; while ((o = re.exec(fnd[1])) != null){ var fn=unescape(o[2].replace(/\\u/g,"%u")) this.smartlabel[o[1]]=fn; } }else{ this.smartlabel={"^smartlabel_promo":"Promotions","^smartlabel_notification":"Updates","^smartlabel_social":"Social","^smartlabel_group":"Forums","^smartlabel_personal":"Personal"}; } this.stage=ST_DATA; } break; case (ST_LOGIN_RES+3)://2-step verification if(aData){ this.getHtml("https://accounts.google.com/"+this.form[0],this.form[1]+"&Pin="+encodeURIComponent(aData)+"&TrustDevice=on"); delete this.form; return false; } break; case (ST_LOGIN_RES+4)://2-step verification this.stage=ST_LOGIN_RES; return this.process(aData,aHttp); } return this.baseProcess(aData,aHttp); } function getCount(aData){ if(this.multiId==0&&this.isLoggedIn(aData,true)<0)return -1; var fnd; if(this.UI==2){ if(this.inboxOnly)fnd=aData.match(this.useInboxCount?/"ld",\[[\S\s]*?\["\^i",(\d+)/:/"ld",\[\["\^ig?",(\d+)/); if(!fnd)fnd=aData.match(/\["ti",.+?,(\d+)/); if(fnd){ if(this.includeSpam){ var fnd2=aData.match(/"ld",\[\[[\S\s]+?"\^s",(\d+)/); if(fnd2){ var spam=parseInt(fnd2[1]); if(spam>0){ this.spam=spam; return parseInt(fnd[1])+(this.includeSpam==2?this.spam:0); } } } return fnd[1]; }else return -1; }else{ var spam=0; if(this.includeSpam){ fnd=aData.match(/<a href="\?s=m"\s*\S+?\((\d+)\)/); if(fnd){ spam=parseInt(fnd[1]); if(spam>0){ this.spam=spam; if(this.includeSpam!=2)spam=0; } } } if(this.inboxOnly){ fnd=aData.match(/<\/h2>\s*<tr>\s*<td[\s\S]+?<a[\s\S]+?>.+?(?: \s*\(\s*(\d+)\s*\))?\s*</); return fnd?((fnd[1]?parseInt(fnd[1]):0)+spam):-1; }else{ fnd=aData.match(/nvp_bbu_go[\s\S]+?<\/td>([\s\S]+?)<\/table>/); if(fnd){ var n=0; var fnd2=fnd[1].match(/<b>(\S+)<\/b>(.+?)<b>(\d+)<\/b>(.+?)<b>(\S+)<\/b>/); if(fnd2){ if(fnd2[2].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[5]))?200:fnd2[5]; else if(fnd2[4].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[1]))?200:fnd2[1]; } return parseInt(n)+spam; }else return -1; } } } function getViewURL(aFolder){ if(aFolder){ if(aFolder=="Spam"){ if(this.UI==2)return this.viewURL+"#spam"; else return this.viewURL+"?s=m"; } if(this.UI==2){ if(aFolder.indexOf("#category/")==0)return this.viewURL+aFolder; else return this.viewURL+"#label/"+encodeURIComponent(aFolder); }else return this.viewURL+"?s=l&l="+encodeURIComponent(aFolder); } return this.viewURL; } function getData(aData){ var obj={}; if(!this.showFolders)return obj; var ar=[]; var fnd; if(this.UI==2){ var d=aData; fnd=null; var list=[]; while(fnd=d.match(/\n(\d+?)(\n([\S\s]+))/)){ d=fnd[2].substring(0,fnd[1]); d=d.replace(/\[\s*,/g,"[null,").replace(/,\s*(?=,)/g,",null").replace(/,\s*\]/g,",null]"); var o=JSON.parse(d); list=list.concat(o); d=fnd[3]; } fnd=null; for(var i=0;i<list.length;i++){ if(list[i][0]=="ld"){ fnd=list[i]; break; } } if(fnd){ if(fnd[2]){ var t=fnd[2]; for(var i=0;i<t.length;i++){ var o=t[i]; if(o[1]>0){ ar.push({id:o[0],count:o[1]}); } } } if(fnd[4]){ var t=fnd[4]; var slb={"social":"social","promo":"promotions","notification":"updates","group":"forums"}; for(var i=0;i<t.length;i++){ var o=t[i]; if(o[1]>0){ ar.push({id:"#category/"+slb[o[0].substring(12)],title:this.smartlabel?this.smartlabel[o[0]]:o[0],count:o[1]}); } } } } }else{ fnd=aData.match(/<td class="?lb"?>([\s\S]+?)<a class="ml"/); if(fnd){ var re=/<a href="(\S+?)">\s*<font[\s\S]+?>(.+?)(?: \s*\(\s*(\d+)\s*\))?\s*</g; var o; while ((o = re.exec(fnd[1])) != null){ if(parseInt(o[3])>0){ ar.push({id:o[2],count:o[3]}); } } } } if(this.spam!=null){ ar.push({id:"Spam",count:this.spam}); delete this.spam; } if(ar)obj.folders=ar; return obj; }
Отсутствует
Новый скрипт для X-notifier - 3.5.xx
Gmail работает!
/*********************************************************** Gmail ***********************************************************/ var name="GmailX"; var ver="2019-02-09"; var supportInboxOnly=true; var supportShowFolders=true; var supportIncludeSpam=true; function init(){ this.initStage=ST_PRE; this.loginData=["https://accounts.google.com/ServiceLoginAuth?service=mail", "Email","Passwd","PersistentCookie=yes"]; this.baseURL="https://mail.google.com/mail/"; this.viewDomain="(mail|accounts).google.com"; this.dataURL=this.baseURL; this.viewURL=this.baseURL; this.logoutURL="https://accounts.google.com/Logout"; } function getIconURL(){ return "https://ssl.gstatic.com/ui/v1/icons/mail/images/favicon2.ico"; } function checkLogin(aData){ switch(this.stage){ case ST_CHECK: this.getHtml(this.baseURL); return false; case ST_CHECK+1: var fnd=aData.match(/\"https:\/\/accounts.google.com\/Logout/); if(fnd){//logged in this.stage=ST_LOGIN_RES+1; return this.process(aData); }else{ this.cookieManager.clear(); this.stage=this.initStage; return this.process(""); } } this.onError(); return true; } function isLoggedIn(aData){ var user=this.user.indexOf("@")==-1?this.user+"@\\S+?":this.user; user=user.replace(/@googlemail.com/,"@(?:g|google)mail.com"); var isCurrent=true; var reg=new RegExp("\"\\/mail(?:\\/u\\/(\\d+))?\",\\S+?,\"(\\S+?)\",\""+user+"\"","i"); var fnd=aData.match(reg); var fnd2=aData.match(/GM_ACTION_TOKEN="(\S+?)"/); if(fnd&&fnd2){ this.viewURL=this.baseURL+(fnd[1]?"u/"+fnd[1]:""); this.dataURL=this.viewURL+"?ui=2&ik="+fnd[2]+"&at="+fnd2[1]+"&view=tl&start=0&num=25&rt=c&as_has=is%3Aunread&as_subset="+(this.inboxOnly?"inbox":"all")+"&search=adv"; var fnd3=aData.match(/"sx_iosc"\s*,\s*"(\S+?)"/); if(fnd3){ if((fnd3[1]=="^u|"||fnd3[1]=="^t|"))this.useInboxCount=true; if(fnd3[1].match(/\^smartlabel_personal\|\S+/))this.smList=fnd3[1].split("|"); } var fnd4=aData.match(/"ix_ioiut"\s*,\s*"(\S+?)"/); if(fnd4&&fnd4[1]=="1")this.useInboxCount=true; this.UI=2; return 1; } //basic HTML fnd=aData.match(/<base href="(\S+?)">/); if(fnd){ this.viewURL=fnd[1]; this.dataURL=fnd[1]+"?s=q&q=is%3Aunread"+(this.inboxOnly?"+in%3Ainbox":""); this.UI=0; return 1; } return -1; } function process(aData,aHttp) { //dout(this.user+" "+this.stage); if(this.debug)dlog(this.id+"\t"+this.user+"\t"+this.stage,aData); switch(this.stage){ case ST_PRE: try{ var s=this.main.prefBranch.getCharPref("accounts.["+this.id+"#"+this.user+"].cookie"); s=s.split("\t"); this.cookieManager.addCookies(s[0],s[1]); }catch(e){} this.getHtml("https://accounts.google.com/ServiceLogin?service=mail&continue=https%3A%2F%2Fmail.google.com%2Fmail%2F&rip=1&nojavascript=1"); return false; case ST_PRE_RES: var form=this.getForm(aData,"gaia_loginform",true); if(form){ this.stage=ST_LOGIN; this.getHtml("https://accounts.google.com/signin/challenge/sl/password",this.loginData[LOGIN_POST]+"&"+form[1]); return false; } break; case ST_LOGIN_RES: var form=this.getForm(aData,"challenge",true); if(form){//2-step verification this.form=form; this.stage=ST_LOGIN_RES+3; this.openAuthDialog(this.id,this.user,null); return true; } ++this.stage; case ST_LOGIN_RES+1: var fnd=aData.match(/action="ChromeLoginPrompt"/); if(fnd){ this.getHtml(this.viewURL); return false; } ++this.stage; case ST_LOGIN_RES+2: if(this.isLoggedIn(aData)==1){ if(this.enableCategory||this.smList){ var fnd=aData.match(/\["sld",\[(\[[\s\S]+?\])\]/); if(fnd){ var re=/\["(.+?)"\s*,\s*"(.+?)"/g; var o; this.smartlabel={}; while ((o = re.exec(fnd[1])) != null){ var fn=unescape(o[2].replace(/\\u/g,"%u")) this.smartlabel[o[1]]=fn; } } }else{ this.smartlabel={"^smartlabel_promo":"Promotions","^smartlabel_notification":"Updates","^smartlabel_social":"Social","^smartlabel_group":"Forums","^smartlabel_personal":"Personal"}; } this.stage=ST_DATA; } break; case (ST_LOGIN_RES+3)://2-step verification if(aData){ this.getHtml("https://accounts.google.com/"+this.form[0],this.form[1]+"&Pin="+encodeURIComponent(aData)+"&TrustDevice=on"); delete this.form; return false; } break; case (ST_LOGIN_RES+4)://2-step verification var ck=this.cookieManager.findCookieString("accounts.google.com","SMSV"); if(ck){ this.main.prefBranch.setCharPref("accounts.["+this.id+"#"+this.user+"].cookie",aHttp.URI.spec+"\t"+ck); } this.stage=ST_LOGIN_RES; return this.process(aData,aHttp); } return this.baseProcess(aData,aHttp); } function getCount(aData){ var fnd; if(this.UI==2){ var count; if(this.inboxOnly)count=(aData.match(/"\^sq_ig_i_personal"/gm) || []).length; else{ fnd=aData.match(/\["ti",.+?,(\d+)/); if(fnd)count=parseInt(fnd[1]); else return -1; } if(this.includeSpam){ var fnd2=aData.match(/"ld",\[\[[\S\s]+?"\^s",(\d+)/); if(fnd2){ var spam=parseInt(fnd2[1]); if(spam>0){ this.spam=spam; count+=parseInt(this.includeSpam==2?this.spam:0); } } } return count; }else{ var spam=0; if(this.includeSpam){ fnd=aData.match(/<a href="\?s=m"\s*\S+?\((\d+)\)/); if(fnd){ spam=parseInt(fnd[1]); if(spam>0){ this.spam=spam; if(this.includeSpam!=2)spam=0; } } } if(this.inboxOnly){ fnd=aData.match(/<\/h2>\s*<tr>\s*<td[\s\S]+?<a[\s\S]+?>.+?(?: \s*\(\s*(\d+)\s*\))?\s*</); return fnd?((fnd[1]?parseInt(fnd[1]):0)+spam):-1; }else{ fnd=aData.match(/nvp_bbu_go[\s\S]+?<\/td>([\s\S]+?)<\/table>/); if(fnd){ var n=0; var fnd2=fnd[1].match(/<b>(\S+)<\/b>(.+?)<b>(\d+)<\/b>(.+?)<b>(\S+)<\/b>/); if(fnd2){ if(fnd2[2].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[5]))?200:fnd2[5]; else if(fnd2[4].indexOf("-")!=-1)n=isNaN(parseInt(fnd2[1]))?200:fnd2[1]; } return parseInt(n)+spam; }else return -1; } } } function getViewURL(aFolder){ if(aFolder){ if(aFolder=="Spam"){ if(this.UI==2)return this.viewURL+"#spam"; else return this.viewURL+"?s=m"; } if(this.UI==2){ if(aFolder.indexOf("#category/")==0)return this.viewURL+aFolder; else return this.viewURL+"#label/"+encodeURIComponent(aFolder); }else return this.viewURL+"?s=l&l="+encodeURIComponent(aFolder); } return this.viewURL; } function getData(aData){ var obj={}; if(!this.showFolders)return obj; var ar=[]; var fnd; if(this.UI==2){ var d=aData; fnd=null; var list=[]; while(fnd=d.match(/\n(\d+?)(\n([\S\s]+))/)){ d=fnd[2].substring(0,fnd[1]); d=d.replace(/\[\s*,/g,"[null,").replace(/,\s*(?=,)/g,",null").replace(/,\s*\]/g,",null]"); var o=JSON.parse(d); list=list.concat(o); d=fnd[3]; } fnd=null; for(var i=0;i<list.length;i++){ if(list[i][0]=="ld"){ fnd=list[i]; break; } } if(fnd){ if(fnd[2]){ var t=fnd[2]; for(var i=0;i<t.length;i++){ var o=t[i]; if(o[1]>0){ ar.push({id:o[0],count:o[1]}); } } } if(this.enableCategory||this.smList){ if(fnd[4]){ var t=fnd[4]; var slb={"social":"social","promo":"promotions","notification":"updates","group":"forums"}; for(var i=0;i<t.length;i++){ var o=t[i]; if(this.enableCategory||this.smList.indexOf(o[0])!=-1){ if(o[1]>0){ ar.push({id:"#category/"+slb[o[0].substring(12)],title:this.smartlabel?this.smartlabel[o[0]]:o[0],count:o[1]}); } } } } } } }else{ fnd=aData.match(/<td class="?lb"?>([\s\S]+?)<a class="ml"/); if(fnd){ var re=/<a href="(\S+?)">\s*<font[\s\S]+?>(.+?)(?: \s*\(\s*(\d+)\s*\))?\s*</g; var o; while ((o = re.exec(fnd[1])) != null){ if(parseInt(o[3])>0){ ar.push({id:o[2],count:o[3]}); } } } } if(this.spam!=null){ ar.push({id:"Spam",count:this.spam}); delete this.spam; } if(ar)obj.folders=ar; return obj; }
Отредактировано firepox (15-02-2019 12:48:33)
Отсутствует
yacornei, на 4.2.10 работает.
О Спасибки друг! Все работает,у меня не 4.2.10 а 3.5.25 все хоккей! и гмаил,и яндекс и маил все фурычит!
Добавлено 15-02-2019 14:13:59
Новый скрипт для X-notifier - 3.5.xxGmail работает!
Благодарю! Сохранил на всякий пожарный
Отредактировано yacornei (15-02-2019 14:13:59)
Отсутствует
Да, скрипт яндекса перестал работать. Выручайте
Причем старый скрипт работает как-то частично. Если кликнуть по почте в списке адресов дополнения, то он перенапрявляет на страницу логина яндекса. Но если после этого ещё раз вручную зайти в почту яндекса, то увидим, что в реальности мы в почту залогинились.
Отредактировано Hobbix (21-02-2019 18:45:20)
Отсутствует
Новый скрипт для Яндекса от pangasiys, за что ему огромное спасибо. Всё пока работает.
/********************************************************** Yandex **********************************************************/ var name = "Yandex.ru"; var ver = "2019-02-27"; var hostString = "yandex.ru"; function init() { this.loginData = ["https://passport.yandex.ru/passport?mode=auth", "login", "passwd", "retpath=" + encodeURIComponent("https://mail.yandex.ru")]; this.dataURL = "https://mail.yandex.ru/web-api/models/liza1?_m=folders"; this.viewURL = "https://mail.yandex.ru"; this.cookieDomain = "yandex.ru"; } function getCount(aData) { var fnd = aData.match(/"new":(\d+),"name":"Inbox"/); return fnd ? fnd[1] : -1; } function process(aData, aHttp) { switch (this.stage) { case ST_LOGIN_RES: this.stage = ST_DATA; case ST_DATA: var ckey = aData.match(/"ckey":"(\S+?)"/); var uid = aData.match(/"uid":"(\S+?)"/); var timestamp = aData.match(/"timestamp":(\d+)/); if (ckey && uid && timestamp) { var aHeaders = {"X-Requested-With": "XMLHttpRequest", "Content-Type": "application/json; encoding=utf-8"}; var aPostData = '{"_ckey":"' + ckey[1] + '","_uid":"' + uid[1] + '","_timestamp":' + timestamp[1] +',"models":[{"name":"folders","params":{}},{"name":"labels","params":{}},{"name":"messages","params":{"threaded":"yes","current_folder":"true","sort_type":"date","with_pins":"yes"}}]}'; this.getHtml(this.dataURL, aPostData, aHeaders); return false; } } return this.baseProcess(aData, aHttp); }
Отсутствует
Отсутствует
mail.ru у всех отвалился?
У меня пару месяцев назад отваливался, когда на новый интерфейс мэйла перешёл. Вернул на старый и снова заработал.
На официальном форуме pangasiys выложил скрип, говорит, что у него с новым интерфейсом работает. Я не проверял.
Вот он:
**********************************************************/
var name="Mail.RU";
var ver="2019-09-19";
var hostString="mail.ru";
function init() {
var ar=this.user.split("@");
if(!ar[1])ar[1]="mail.ru";
this.dataURL="https://e.mail.ru/inbox/?rf=e.mail.ru&afterReload=1";
this.loginData=["https://auth.mail.ru/cgi-bin/auth",,"Password","Login="+encodeURIComponent(ar[0])+"&Domain="+encodeURIComponent(ar[1])];
this.viewURL="https://e.mail.ru/inbox/?rf=e.mail.ru&afterReload=1";
this.cookieDomain="mail.ru";
}
function getCount(aData) {
var fnd = aData.match(/g_mail_events.+?(\d+)<\/i>/);
return fnd?(fnd[1]?fnd[1]:0):-1;
}
function getIconURL(){
return "http://img.imgsmail.ru/r/ru/favicon.ico?1";
}
Отсутствует
я тоже раньше постоянно пользовался X-notifier расширением для уведомлений о приходе писем - пока не набрёл на расширение точно с такими-же функциями но попроще - а именно Мои сообщения
оно точно так-же информирует звуком и всплывашкой о приходе писем со множества почтовых ящиков - есть один важный нюанс - нужно обязательно настроить чтоб сохранялись и не удалялись куки с ваших страниц где почта - вот например у меня почта Mail.ru и Yandex.ru и вот нужно настроить чтоб куки от этих двух почтовиков не удалялись при закрытии браузера:
....кстати на 70 Лисе многие скрипты X-notifier не работают и не возможно добавить их - так что единственная альтернатива это Мои сообщения
Отредактировано казявка (29-10-2019 19:14:08)
Отсутствует
Перестал работать скрипт GMAIL на x-notifer 3.5. [firefox]55 пока пользуюсь.Видать Гмаил изменил схему входа,и скрипт стал не рабочим.
У разраба не странице скриптов нет вообще gmail ,до этого пользовался скриптом который выкладывали выше от 2019г.Попробовал обновить сам
x-notifer, там вообще все сломано,откатился назад.
Парни! что там можно изменить в скрипте, что бы заработал? mail и остальные все работает.Проблема только с gmail..
Отсутствует