我正在开发chrome扩展程序。我当前在其中使用以下事件:
gmail.observe.on('view_thread', function(obj) {
console.log('conversation thread opened', obj); // gmail.dom.thread object
});
以前运行正常。但是由于最近的某些原因,它停止了工作(可能是Gmail进行了一些UI更改)
以下是我使用的gmail.js参考:https://github.com/KartikTalwar/gmail.js
请帮助我纠正此问题。
答案 0 :(得分:1)
我通过在Gmail.js中进行以下更改来修复了相同的错误
"view_thread": {
class: ["Bu", "nH"], // class depends if is_preview_pane - Bu for preview pane, nH for standard view
sub_selector: "div.if",
handler: function (match, callback) {
match = new api.dom.thread(match);
callback(match);
// look for any email elements in this thread that are currently displaying
// and fire off any view_email sub_observers for each of them
setTimeout(function () {
var email = match.dom("opened_email");
if (email.length) {
api.observe.trigger_dom("view_email", email, api.tracker.dom_observers.view_thread.sub_observers.view_email.handler);
}
}, 500)
},
如您所见,我添加了setTimeout方法并在500毫秒后调用“ view_email”方法。这里的实际问题是Gmail UI响应较晚,并且在呈现Gmail UI之前调用了view_email事件,这就是未调用事件的原因。