Greasemonkey и Gmail - разбор содержимого сообщения - PullRequest
1 голос
/ 18 мая 2009

Я хочу прочитать содержимое сообщений Gmail и добавить некоторую причудливость в ссылки. Вот некоторый код:

unsafeWindow.gmonkey.load("1.0", function(gmail){
  gmail.registerViewChangeCallback(function(){
    if (gmail.getActiveViewType && gmail.getActiveViewType() == "cv") {
      var viewElement = gmail.getActiveViewElement()
      // Do things with viewElement
    }
  })
})

Фактическое обнаружение ссылок в объектах dom для писем - самая простая часть. Проблема в том, что registerViewChangeCallback запускается только при отображении потока. Большие потоки будут скрывать большинство своих сообщений только для загрузки по запросу пользователя. Я не нашел метод API Gmail greasemonkey для этого конкретного действия (загрузка отдельного сообщения), когда мне нужно запустить свой сценарий.

Есть предложения?

Ответы [ 2 ]

1 голос
/ 18 августа 2009

Как вы говорите, функция registerViewChangeCallback () срабатывает только тогда, когда пользователь меняет свое представление, например, с. темы в архивах и т. д.

Что вам действительно нужно, так это добавить функцию, которая перехватывает постбэки gmail и затем изменяет ссылки. Я никогда не пытался сделать это сам, но в этом ответе есть пример кода для вас. Когда gmail получит новое сообщение, оно вызовет событие readystatechange, которое может перехватить ваш код. Затем вы можете изменить содержимое сообщения любым удобным вам способом (хотя вам, возможно, придется подождать некоторое время, чтобы gmail мог сначала вставить сообщение - не уверен насчет этого).

0 голосов
/ 16 августа 2009

Я думаю, вы обнаружите, что некоторые сообщения загружаются, когда они перечислены в ветке; отсюда твоя проблема.

Почему бы вам не использовать собственный стиль? Плагин UserStyles FF.

...