manifest.json
{
"name": "Sample",
"version": "1.0.0",
"manifest_version": 3,
"description": "Sample Chrome Extension",
"content_scripts": [{
"matches": ["https://www.google.com/"],
"js": [
"content.js"
]
}]
}
content.js
window.alert('hogehoge');
// ホームアイコン変更
const style = document.createElement('style');
style.textContent = '.r-18jsvk2.r-4qtqp9.r-yyyyoo.r-16y2uox.r-8kz0gk.r-dnmrzs.r-bnwqim.r-1plcrui.r-lrvibr.r-lrsllp {' +
' display: none;' +
'}' +
'.css-901oao.r-1awozwy.r-18jsvk2.r-6koalj.r-18u37iz.r-16y2uox.r-1tl8opc.r-a023e6.r-b88u0q.r-1777fci.r-rjixqe.r-bcqeeo.r-q4m81j.r-qvutc0 {' +
' background-image: url(' + chrome.runtime.getURL('icons/logo_blue.png') + ');' +
' background-size: 28px;' +
' background-repeat: no-repeat;' +
' background-position: center;' +
'}';
document.body.appendChild(style);
// タブアイコン変更
const linkElement = document.querySelector('link[rel="shortcut icon"]');
if (linkElement) {
linkElement.setAttribute('href', chrome.runtime.getURL('icons/logo_blue_32_32.png'));
}
const elements = document.querySelectorAll('.css-901oao.css-16my406.r-1tl8opc.r-bcqeeo.r-qvutc0');
for (let element of elements) {
if (element.textContent === 'ポストする') {
element.textContent = 'ツイートする';
}
}
function replaceText() {
const elements = document.querySelectorAll('.css-901oao.css-16my406.r-1tl8opc.r-bcqeeo.r-qvutc0');
for (let element of elements) {
if (element.textContent === 'ポストする') {
element.textContent = 'ツイートする';
}
}
}
const observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
replaceText();
});
});
const targetNode = document.body; // 監視対象のノード
const config = { childList: true, subtree: true }; // 監視の設定
observer.observe(targetNode, config); // 監視を開始
replaceText(); // 初期表示時のテキスト置換