【问题标题】:Get all from emails in Gmail via Jquery通过 Jquery 从 Gmail 中的电子邮件中获取所有信息
【发布时间】:2020-06-16 14:47:41
【问题描述】:

我正在使用 google 的扩展程序,我想访问我的 Gmail 页面上的所有“发件人”电子邮件。

我找到了存储值的位置,但看起来没有任何可以遵循的逻辑类结构:

我希望能够像这样遍历每一个:

var map = {};
$(".activeInput").each(function() {
    map[$(this).attr("name")] = $(this).val();
});

alert(map.key1); 

我遇到的问题是我似乎无法获取电子邮件值,即数据属性电子邮件的值

在控制台中,如果我这样做:

$('[email]')

它返回整个跨度

如果我尝试:

$('tr span').attr("email");

但我得到:未捕获的 TypeError: $(...).attr is not a function

我已经尝试了其他一些变体但没有成功,所以希望有人能指出我正确的方向。

【问题讨论】:

  • 你确定 Gmail 使用 jQuery 吗?
  • @palaѕн Gmail 网站没有对 jQuery 的引用。它为自己的目的使用$()。您对问题的补充是错误的。

标签: jquery dom


【解决方案1】:

其实Gmail页面中的$并不是jQuery实例,而是指Chrome的Console Utilities API

如上述文档中所述:

$(选择器,[startNode])


$(selector) 返回对具有指定 CSS 选择器的第一个 DOM 元素的引用。当使用一个参数调用时,此函数是 document.querySelector() 函数的别名。

现在,在你的情况下:

$('tr span').attr("email");

我们本可以简单地使用$$(selector),这相当于在 chrome 控制台中调用document.querySelectorAll(),但似乎 Gmail 已禁用它。所以,你可以试试:

var spans = document.querySelectorAll('tr [email]');
var emails = [...spans].map(x => x.getAttribute('email'))
console.log(emails)

这将返回数组变量emails中的所有电子邮件

【讨论】:

    猜你喜欢
    • 2012-09-23
    • 1970-01-01
    • 2014-09-08
    • 2010-11-18
    • 2012-11-09
    • 1970-01-01
    • 2020-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多