Полезная информация

В мире Mozilla происходит много интересных событий. Но вам не нужно постоянно посещать новостные сайты, чтобы быть в курсе всех изменений. Зайдите на ленту новостей Mozilla Россия.

№122-09-2008 04:46:50

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Помогите исправить скрипт для yandex.ru под WebMail Notifier

Здравствуйте. Я переделал скрипт для mail.ru. Работающий скрипт имеет вид:

function initHandler(handler){

handler.name="mailru";
handler.dataURL="http://win.mail.ru/cgi-bin/auth";
handler.loginData=["http://win.mail.ru/cgi-bin/auth",
"Login","Password","Domain="+encodeURIComponent("mail.ru")];
handler.mailURL="http://win.mail.ru/cgi-bin/auth";

handler.getData=function(aData){ //aData is a html source in dataURL
var fnd=aData.match(/\u043c:&nbsp;<b>(\d+?)<\/b>/); //find mail count
if(fnd){
var num = fnd[1]; //get mail count here
return num;
}else{
return -1;//display 'not checked' message
}
};
}

Но для Яндекса по такой же аналогии скрипт не проверяет количество писем на почтовом ящике:

function initHandler(handler){

handler.name="yandexru";
handler.dataURL="http://mail.yandex.ru/cgi-bin/auth";
handler.loginData=["http://mail.yandex.ru/cgi-bin/auth",
"Login","Password","Domain="+encodeURIComponent("yandex.ru")];
handler.mailURL="http://mail.yandex.ru/cgi-bin/auth";

handler.getData=function(aData){ //aData is a html source in dataURL
var fnd=aData.match(/\u043c:&nbsp;<b>(\d+?)<\/b>/); //find mail count
if(fnd){
var num = fnd[1]; //get mail count here
return num;
}else{
return -1;//display 'not checked' message
}
};
}

Подскажите пожалуйста, что я сделал не так? :-)

Отсутствует

 

№222-09-2008 09:54:43

Shutnik
Happy Arch Linux User
 
Группа: Extensions
Откуда: Tyumen ✈ Dnipropetrovsk
Зарегистрирован: 12-11-2005
Сообщений: 3785
UA: Iceweasel 3.0
Веб-сайт

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

кто вам сказал, что при простом изменении домена этот скрипт будет работать? он выдирает количество новых сообщений прямо со страницы почты, к тому же, система авторизации на яндексе устроена совсем иначе.


Life's emblem here, in youth and vernal bloom,
But reason's finger pointing at the...

Отсутствует

 

№322-09-2008 10:07:56

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Неработающий скрипт как бы и так предполагает, что простое изменение домена не помогло. Это даже мне, ни разу не скриптостроителю, ясно.
Спасибо за дельный совет :)

Буду прям: как поправить скрипт для майла, чтобы он работал под яндексом?
Заранее спасибо.

Отсутствует

 

№422-09-2008 12:53:42

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Вроде как этот вариант более правильный, а всё равно нет уведомлений о приходе писем:

function initHandler(handler){

handler.name="yandexru";
handler.dataURL="http://passport.yandex.ru/passport?mode=auth&retpath=http://mail.yandex.ru";
handler.loginData=["http://passport.yandex.ru/passport?mode=auth&retpath=http://mail.yandex.ru",
"Login","Password","Domain="+encodeURIComponent("yandex.ru")];
handler.mailURL="http://passport.yandex.ru/passport?mode=auth&retpath=http://mail.yandex.ru";

handler.getData=function(aData){ //aData is a html source in dataURL
var fnd=aData.match(/\u043c:&nbsp;<b>(\d+?)<\/b>/); //find mail count
if(fnd){
var num = fnd[1]; //get mail count here
return num;
}else{
return -1;//display 'not checked' message
}
};
}

Отсутствует

 

№522-09-2008 14:36:41

Forest
Участник
 
Группа: Members
Откуда: Обнинск
Зарегистрирован: 05-04-2005
Сообщений: 1778
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

При нахождении в папке Входящие (а логин автоматом туда приводит) эту информацию можно взять из заголовка таба и окна ;)


---  ---

Отсутствует

 

№622-09-2008 14:50:44

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Никто не спорит :-) Но как всё-таки должен выглядеть скрипт? Неужели никто не переписывал его под Яндекс?

Отсутствует

 

№703-10-2008 10:25:29

dishlo
Участник
 
Группа: Members
Зарегистрирован: 03-10-2008
Сообщений: 1
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Находит непрочитанные сообщения по шабону, типа "(<b>2323</b>)".
Не стал проверять что будет если новых сообщений нет.
Что бы однозначно определить количество непрочитанных надо искать русскую фразу. С русской кодировкой возиться не стал, оставил простой шаблон по тегам.
На сегодняшний день работает и ладно.

Выделить код

Код:

function initHandler(handler) {


  handler.name =   'yandex';
  handler.dataURL =       'http://mail.ya.ru/';
  handler.mailURL =       'http://mail.ya.ru/';
  handler.loginData =     ['https://passport.yandex.ru/passport?mode=auth', 'login', 'passwd', 'retpath=http://mail.yandex.ru/'];


  handler.getData = function(aData) {  

    try
    {
        var str = aData.match(/">\(<b>\d+<\/b>\)/);

        
        if(str)
        {

            return String(str).match(/\d+/);
        }
        return 0;
    }
    catch(err)
    {
        return 1000;  
    }
    
    return 2000;

  };
}

Отсутствует

 

№803-10-2008 11:08:41

ViRUS
ДМБ 2008
 
Группа: Extensions
Откуда: Xa!
Зарегистрирован: 05-11-2004
Сообщений: 1468
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Не проще ли делать такие вещи опрашивая непосредственно POP3 сервер?


Непослушные локоны горничной выбивались из-под её кружевного фартука...

Отсутствует

 

№903-10-2008 12:02:37

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Заработало! Спасибо,dishlo ;)

Отсутствует

 

№1014-10-2008 12:46:59

Warhangel
Участник
 
Группа: Members
Зарегистрирован: 09-03-2005
Сообщений: 11
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Вопрос про скрипт от mailru
Почему-то с ним выдаётся "mailru: not checked"
Что в нём надо поправить для стандартного "No new mail"?

Отсутствует

 

№1114-10-2008 12:57:29

Evialroot
Участник
 
Группа: Members
Зарегистрирован: 22-09-2008
Сообщений: 6
UA: Firefox 3.0

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

А вот этого я не знаю. При получении почты, всегда появляется уведомление. Большего мне от этого плагина и не надо :)

Отсутствует

 

№1213-09-2009 16:31:13

GOR70
Участник
 
Группа: Members
Зарегистрирован: 13-09-2009
Сообщений: 4
UA: Firefox 3.5

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

А у меня для yandex'a, почему-то не работает. Нет уведомления о новой почте.
Может кто подскажет в чем проблема...

Отредактировано GOR70 (13-09-2009 16:32:49)

Отсутствует

 

№1306-12-2009 14:32:40

ivk
Участник
 
Группа: Members
Зарегистрирован: 06-12-2009
Сообщений: 12
UA: Firefox 3.5

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Сделал скрипт для яндекса. Вроде работает:)
Не знаю как заmatch'ить русские символы, повозился - не получилось.

Выделить код

Код:

/***********************************************************
yandex
  2009-12-06
***********************************************************/
function initHandler(handler) {
  handler.name = "Yandex";
  handler.dataURL = "http://mail.yandex.ru/";
  handler.loginData = ["https://passport.yandex.ru/passport", "login", "passwd", "mode=auth&retpath=http://mail.yandex.ru"];
  handler.mailURL = "http://mail.yandex.ru/";

  handler.getData = function(aData) {
    //Не знаю как match'ем ловить русские символы и пробелы, поэтому вместо них .* и \s соотвественно.
    //Есть нечитанная почта.
    //<title>Входящие (1 / 127) — Яндекс.Почта</title>
    var fnd = aData.match(/<title>.*\s\((\d+)\s\/\s\d+\)\s.*<\/title>/);
    if (fnd)
      return fnd[1];

    //Нечитанной почты нету.
    //<title>Входящие (127) — Яндекс.Почта</title>
    fnd = aData.match(/<title>.*\s\((\d+)\)\s.*<\/title>/);
    if (fnd)
      return 0;

    return -1;
  }
}

Отсутствует

 

№1401-01-2010 13:14:50

ivk
Участник
 
Группа: Members
Зарегистрирован: 06-12-2009
Сообщений: 12
UA: Firefox 3.5

Re: Помогите исправить скрипт для yandex.ru под WebMail Notifier

Вышла новая версия Webmail Notifier - старый скрипт не работает.
Таки разобрался с русскими буквами:)

Выделить код

Код:

/***********************************************************
yandex
  2010-01-01
***********************************************************/

var name="Yandex";

function init() {
    this.dataURL = "http://mail.yandex.ru/";
    this.loginData = ["https://passport.yandex.ru/passport", "login", "passwd", "mode=auth&retpath=http://mail.yandex.ru"];
    this.mailURL = "http://mail.yandex.ru/";
}

function getCount(aData) {
    //Есть нечитанная почта.
    //<title>Входящие (1 / 127) — Яндекс.Почта</title>
    //                             В     х     о     д     я     щ     и     е       (  1     /   127)
    var fnd = aData.match(/<title>\u0412\u0445\u043E\u0434\u044F\u0449\u0438\u0435\s\((\d+)\s\/\s\d+\)\s.*<\/title>/);
    if (fnd)
        return fnd[1];

    //Нечитанной почты нету.
    //<title>Входящие (127) — Яндекс.Почта</title>
    fnd = aData.match(/<title>\u0412\u0445\u043E\u0434\u044F\u0449\u0438\u0435\s\((\d+)\)\s.*<\/title>/);
    if (fnd)
        return 0;

    return -1;
}

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]