gpt4 book ai didi

javascript - 在 Chrome 扩展中获取 GMail 的 "To"字段

转载 作者:行者123 更新时间:2023-11-28 15:59:10 25 4
gpt4 key购买 nike

我正在编写一个 Google Chrome 扩展程序,需要捕获新 GMail 电子邮件的“收件人”字段中的地址。这就是我目前正在使用的(正在使用 jQuery 2.0.2):

$('textarea[name="to"]').bind("enterKey",function(e){
alert($('textarea[name="to"]').val()); // this is definitely the "To" field
});
$('textarea').keyup(function(e){
if(e.keyCode == 13) {
$(this).trigger("enterKey");
}
});

每次我在包含上述代码的“收件人”字段中按 Enter 时,都会触发一个空的 alert() 框。但是,如果我更改 alert() 以显示任意值,例如 alert('david'); 消息 david 位于警报框。

我的问题是,当我按 Enter 时,为什么“收件人”字段的 .val() 中会出现一个空字符串?

谢谢!

最佳答案

Gmail 的 to Field 不像文本区域那样工作,它从文本中获取电子邮件,并在文本区域之前为每封电子邮件创建一个 div。

您应该检查 DOM 以了解那里发生了什么。

这是相关代码部分。

<div class="vR">
<span class="vN vQ" email="email1@example.com">
<div class="vT">email1</div>
<div class="vM"></div>
</span>
<input name="to" type="hidden" value="email1">
</div>
<div class="vR">
<span class="vN vQ" email="email2@example.com">
<div class="vT">email2</div>
<div class="vM"></div>
</span>
<input name="to" type="hidden" value="email2">
</div>
<textarea rows="1" id=":2y" class="vO" name="to" spellcheck="false" autocomplete="false" tabindex="1" dir="ltr" aria-haspopup="true" style="width: 950px;"></textarea>

这样你就可以收到这样的电子邮件,

$('textarea[name="to"]').bind("enterKey", function(e){
var emails = [];
$(this).siblings("div.vR").find("span.vN").each(function() {
emails.push($(this).attr("email"));
})
alert(emails.join(", "));
});

关于javascript - 在 Chrome 扩展中获取 GMail 的 "To"字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17578065/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com