在我的Chrome扩展程序中,我使用 Inbox.sdk 。
当有人发送电子邮件时,我会在其中添加跟踪像素。
但当有人回复我们的邮件时。然后我们回复它 - 跟踪像素存在于身体内部 - 在修剪部分 - 我们如何摆脱跟踪像素。
例如
A和B正在交谈,A正在使用我的插件 -
甲--------> 。乙
(将附加跟踪像素TP1)
现在B将回复A
A< ---------- B
当A发回复B时
A ---------->乙
(将附加一个新的跟踪像素TP2)
但现在我们发送两个跟踪像素 -
1. TP2
2. TP1 - 因为它存在于回复正文中 - 在修剪内容中。
所以问题是我们如何从回复的主体中删除旧的内容
通过使用收件箱sdk我只能抓住身体,如果修剪内容打开其他明智 - 我们无法抓取修剪内容的男孩内容。
如果问题不清楚我可以发表评论,我会尝试扩大更多。
答案 0 :(得分:2)
Gmail使用name="eut"
将修剪的内容保存在隐藏的输入字段中。
您可以做的是获取消息正文,找到实际上封装了回复消息的最近的祖父母表。然后找到此输入元素,在其上循环并删除所有跟踪像素。之后,只需插入新的跟踪像素,就可以了。
// get message body
var msg_el = composeView.getBodyElement();
// find the table which encapsulates the whole reply email.
var parent_div = el.closest('table').parentElement.closest('table').parentElement;
var email_form = parent_div.querySelector("form");
var form_input = email_form.querySelector('input[name="uet"]');
// get the trimmed text, convert it to a html object and remove tracking pixels
var email_text = form_input.value;
var images = $(email_html).find('img');
var val = null;
if (images.length > 0){
for (var i = 0; i < images.length; i++) {
var src = images[i].src;
// find tracking pixel using url
if (src.indexOf("tracking-pixel") !== -1){
email_html.find(images[i]).remove();
}
}
}
val = email_html.outerHTML;
el.outerHTML = val;
// Insert your tracking pixel here.
希望这会有所帮助。