Я работаю над исправлением ошибки в моем расширении Google Chrome для Gmail.Мне нужно определить, когда отображается панель расширенного формата, но все идентификаторы и классы запутаны, и я полагаю, что они ненадежны.
Чтобы обнаружить холст сообщения
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);
Это хорошо подходит для создания новых электронных писем и т. П., Поскольку объект Canvas существует и, таким образом, обнаруживается.
Однако при нажатии кнопки ответить, ответить всем или переслатьне работает, потому что dom динамически изменяется и chrome.tabs.onSelectionChanged.addListener
не может обнаружить изменение страницы, как я это делаю для Compose.