通过Chrome扩展程序从Gmail DOM获取元素

问题描述 投票:0回答:1

我正在尝试从Gmail DOM中获取元素。元素具有一个名为“ 。yP”的类(该元素在收件箱列表中显示电子邮件中涉及的人员的名称)。

在清单字段中,我有此条目:

    "content_scripts": [
    {
        "matches": [
            "https://mail.google.com/*", 
            "https://inbox.google.com/*"
        ],
        "css": ["styles/test.css"],
        "js": [
            "libraries/jquery-3.4.1.min.js",
            "content-scripts/test.js"
        ],
        "run_at": "document_end"
    }
]

CSS文件的内容就是那个:

.yP:hover {
   background-color: yellow;
}

它运行良好,当我将鼠标移到元素上时,背景变成黄色。

但是问题是,当我尝试在我的内容脚本test.js中获取这些元素时。该列表始​​终为空。但是,如果我在开发人员控制台中执行相同的指令,则它可以正常运行。

var list = document.getElementsByClassName("yP");
console.log("List: " + list);

我做错了什么?

提前感谢!

javascript google-chrome-extension
1个回答
0
投票
您是否尝试过将其包装在load侦听器的窗口中?

window.addEventListener('load', (event) => { var list = document.getElementsByClassName("yP"); console.log("List: " + list); });

参见:https://developer.mozilla.org/en-US/docs/Web/API/Window/load_event

© www.soinside.com 2019 - 2024. All rights reserved.