我正在为我的Gmail谷歌浏览器扩展修复一个bug。我需要检测富格式栏何时显示,但是所有的ID和类都是模糊的,我认为这是不可靠的。
检测消息画布
this.canvas_frame_document.evaluate("//iframe[contains(@class, 'editable')]",
this.canvas_frame_document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
检测富文本条
this.canvas_frame_document.evaluate("//img[@command='+underline']",
this.canvas_frame_document, null, XPathResult.UNORDERED_NODE_SNAPSHOT_TYPE,
null);
这对于撰写新邮件或类似邮件很有效,因为CanvasDOM存在,因此可以检测到。
但是,单击“答复”、“全部答复”或“转发”时不起作用,因为DOM是动态更改的,并且
chrome.tabs.onSelectionChanged.addListener
无法检测到页面中的更改,就像我对撰写所做的一样。