我正在创建Chrome扩展程序,并尝试在gMail撰写框的SEND按钮旁边添加一个小文本.
我正在使用MutationObserver来了解撰写框窗口何时出现.我通过观察一个带有类的元素来做这个,no因为compose box元素被创建为这个元素(class no)的子元素.
当用户单击撰写按钮并出现撰写框窗口时,我会使用该.after()方法在SEND按钮旁边放置一个元素.发送按钮类名称是.gU.Up.
这些是gMail的真正类名,也很奇怪.
以下是我使用的代码:
var composeObserver = new MutationObserver(function(mutations){
mutations.forEach(function(mutation){
mutation.addedNodes.forEach(function(node){
$(".gU.Up").after("<td> <div> Hi </div> </td>");
});
});
});
var composeBox = document.querySelectorAll(".no")[2];
var config = {childList: true};
composeObserver.observe(composeBox,config);
Run Code Online (Sandbox Code Playgroud)
问题是我经常遇到以下错误:
Uncaught TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'
Run Code Online (Sandbox Code Playgroud)
有人可以帮忙吗?我已经尝试了很多东西,并在这里查看了其他答案,但仍然无法摆脱这个错误.
这是我的manifest.json文件:
{
"manifest_version": 2,
"name": "Gmail Extension",
"version": "1.0",
"browser_action": {
"default_icon": "icon19.png",
"default_title": "Sales Analytics Sellulose"
},
"background": {
"scripts": ["eventPage.js"], …Run Code Online (Sandbox Code Playgroud) javascript gmail google-chrome-extension mutation-observers gmail-api