browser-plugin-creator
Version:
A modern scaffolding tool for creating browser extensions with ease
57 lines (44 loc) • 1.57 kB
JSX
import React, { useEffect, useState } from 'react';
function ContentScript() {
const [highlightedElements, setHighlightedElements] = useState([]);
useEffect(() => {
// 初始化内容脚本
const initContentScript = () => {
// 查找页面中的所有段落
const paragraphs = document.querySelectorAll('p');
// 高亮段落
paragraphs.forEach((p, index) => {
p.style.backgroundColor = '#fffacd';
p.style.padding = '5px';
p.style.borderRadius = '3px';
});
setHighlightedElements(Array.from(paragraphs));
console.log(`{{projectName}}: 高亮了 ${paragraphs.length} 个段落`);
};
// 延迟执行以确保DOM加载完成
setTimeout(initContentScript, 1000);
// 清理函数
return () => {
highlightedElements.forEach(element => {
element.style.backgroundColor = '';
element.style.padding = '';
element.style.borderRadius = '';
});
};
}, []);
return null; // 内容脚本不需要渲染UI
}
// 内容脚本入口
if (typeof window !== 'undefined') {
// 防止重复注入
if (!window.{{projectName}}Injected) {
window.{{projectName}}Injected = true;
// 创建影子DOM容器
const container = document.createElement('div');
container.id = '{{projectName}}-container';
// 使用React渲染内容(可选)
// 这里我们使用纯内容脚本,不渲染React组件
console.log('{{projectName}} 内容脚本已加载');
}
}
export default ContentScript;