Как я могу получить имя отправителя из Gmail? - PullRequest
3 голосов
/ 11 февраля 2012

Я разрабатываю плагин Firefox для Gmail в JavaScript. Приложение позволит пользователю выбирать между некоторыми готовыми ответами (предварительно определенными электронными письмами, которые пользователь выберет при ответе на предыдущее электронное письмо). Мне нужно, чтобы письмо отправителя заполнялось автоматически, чтобы пользователю не приходилось вводить его каждый раз.

пример:

если пользователь получает письмо с «Пример имени example@domain.com», при ответе на письмо тело должно сказать что-то похожее на следующее:

Имя дорогого примера

спасибо, что выбрали .... .. .. .. С уважением, Второй пример

Как сделать так, чтобы «Имя примера» (первое) автоматически отображалось в теле.

Спасибо

1 Ответ

0 голосов
/ 17 августа 2013

Я понимаю, что вы хотите собрать данные с веб-страницы Gmail.

Глядя на html для почтового ящика Gmail, кажется, что они запускают большинство переменных через минимизатор, что заставило бы меня с осторожностью относиться к идентификаторам или именам классов. Может быть, они сделают небольшие изменения завтра, и минимизатор выберет новые имена для всего.

С другой стороны, некоторые атрибуты кажутся стабильными. Например: роль = «презентация» в

<table class=​"Bs nH iY" cellpadding=​"0" role=​"presentation">​

или по электронной почте = здесь

<span class=​"vN Y7BVp" email=​"info@avatron.com">

... которая содержит информацию, которую вы действительно хотите:

<div class=​"vT">​Avatron Software (info@avatron.com)​</div>​

Так что я хотел бы подойти к этому:

  1. используя .getElementsByTagname ('table'), а затем перебирая, пока не найду того, чья роль = "presentation"
  2. используя [thePresentationTable] .getElementsByTagname ('span'), а затем перебирая, пока не найду того, у кого есть атрибут 'email ='
  3. используя дерево для поиска текстового узла Полное имя, например: [theEmailSpan] .firstChild или [theEmailSpan] .firstChild.firstSibling или что у вас есть
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...