chrome插件在background.js获取dom中被点击的元素
时间: 2024-05-11 10:20:06 浏览: 9
要在Chrome插件的`background.js`文件中获取DOM中被点击的元素,你需要使用Chrome的事件监听器API。
具体步骤如下:
1. 在`background.js`文件中使用`chrome.runtime.onMessage`监听从content script发送来的消息,该消息包含被点击的元素的信息。
```javascript
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.action == "clicked_element") {
// 处理被点击元素的信息
}
});
```
2. 在content script中,使用`document.addEventListener`监听点击事件,并向`background.js`发送包含被点击元素的信息的消息。
```javascript
document.addEventListener("click", function(event) {
var clickedElement = event.target;
chrome.runtime.sendMessage({
action: "clicked_element",
element: clickedElement
});
});
```
3. 在`background.js`中处理接收到的消息,获取被点击元素的信息。
```javascript
chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
if (request.action == "clicked_element") {
var clickedElement = request.element;
// 处理被点击元素的信息
}
});
```
注意:在content script中使用`document.addEventListener`监听点击事件时,需要确保该事件不会被阻止冒泡或默认行为,否则`background.js`将无法接收到消息。可以在`addEventListener`中使用`{ capture: true, passive: true }`选项来确保该事件不会被阻止冒泡或默认行为。