我正在用 javascript 为 gmail 开发一个 firefox 插件。该应用程序将让用户在一些预设回复之间进行选择(用户在回复之前的电子邮件时将选择的预定义电子邮件)。我需要自动填写发件人的邮件,这样用户就不需要每次都输入。
例子:
如果用户收到来自“Example Name example@domain.com”的邮件,在回复邮件时,正文应该说类似以下内容:
亲爱的例子名字
感谢您选择.... .. .. .. 此致,第二个例子
如何让“Example Name”(第一个)自动出现在 body 中。
谢谢
最佳答案
我了解到您希望从 Gmail 网页中抓取数据。
查看 Gmail 收件箱的 html,它们似乎通过最小化程序运行大多数变量,这让我对引用 id 或类名持谨慎态度。也许他们明天会做一些小改动,最小化器会为所有内容选择新名称。
好的一面是,某些属性似乎很稳定。例如:role='presentation' in
<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>
所以我会通过以下方式解决这个问题:
- 使用 .getElementsByTagname('table') 然后遍历直到找到一个 role= “presentation”
- 使用 [thePresentationTable].getElementsByTagname('span'),然后循环直到找到具有“email=”属性的对象
- 使用树来查找全名文本节点,例如:[theEmailSpan].firstChild 或 [theEmailSpan].firstChild.firstSibling 或其他什么
关于javascript - 如何从 gmail 中获取发件人姓名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9243463/