add adblock content script

This commit is contained in:
jianxin committed 2023-11-04 08:19:08 +08:00
1 parent 5dba81e4a4
commit f245fb048b
8 files changed
+117 -102

No files matched your search

+66 -66
View File
@@ -1,86 +1,86 @@
const DYNAMIC_SCRIPT_ID = 'add-record-script';
// const DYNAMIC_SCRIPT_ID = 'add-record-script';
async function isDynamicContentScriptRegistered() {
const scripts = await chrome.scripting.getRegisteredContentScripts();
return scripts.some((s) => s.id === DYNAMIC_SCRIPT_ID);
}
// async function isDynamicContentScriptRegistered() {
// const scripts = await chrome.scripting.getRegisteredContentScripts();
// return scripts.some((s) => s.id === DYNAMIC_SCRIPT_ID);
// }
async function getActiveTab() {
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
return tab;
}
// async function getActiveTab() {
// const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
// return tab;
// }
document.querySelector('#addRecord').addEventListener('click', async () => {
// document.querySelector('#addRecord').addEventListener('click', async () => {
console.log('[Demo] ==============================================');
console.log('[Demo] Test send message from popup script to content script');
const tab = await getActiveTab();
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'addRecord' });
console.log('[Demo] receive', ret);
// console.log('[Demo] ==============================================');
// console.log('[Demo] Test send message from popup script to content script');
// const tab = await getActiveTab();
// const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'addRecord' });
// console.log('[Demo] receive', ret);
});
// });
document.querySelector('#deleteRecord').addEventListener('click', async () => {
// document.querySelector('#deleteRecord').addEventListener('click', async () => {
console.log('[Demo] ==============================================');
console.log('[Demo] Test send message from popup script to content script');
const tab = await getActiveTab();
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'deleteRecord' });
console.log('[Demo] receive', ret);
// console.log('[Demo] ==============================================');
// console.log('[Demo] Test send message from popup script to content script');
// const tab = await getActiveTab();
// const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'deleteRecord' });
// console.log('[Demo] receive', ret);
});
// });
var port = null;
// var port = null;
function appendMessage(text) {
document.getElementById('response').innerHTML += "<p>" + text + "</p>";
}
// function appendMessage(text) {
// document.getElementById('response').innerHTML += "<p>" + text + "</p>";
// }
function updateUiState() {
if (port) {
document.getElementById('connect-button').style.display = 'none';
document.getElementById('input-text').style.display = 'block';
document.getElementById('send-message-button').style.display = 'block';
} else {
document.getElementById('connect-button').style.display = 'block';
document.getElementById('input-text').style.display = 'none';
document.getElementById('send-message-button').style.display = 'none';
}
}
// function updateUiState() {
// if (port) {
// document.getElementById('connect-button').style.display = 'none';
// document.getElementById('input-text').style.display = 'block';
// document.getElementById('send-message-button').style.display = 'block';
// } else {
// document.getElementById('connect-button').style.display = 'block';
// document.getElementById('input-text').style.display = 'none';
// document.getElementById('send-message-button').style.display = 'none';
// }
// }
function sendNativeMessage() {
message = { "text": document.getElementById('input-text').value };
port.postMessage(message);
appendMessage("Sent message: <b>" + JSON.stringify(message) + "</b>");
}
// function sendNativeMessage() {
// message = { "text": document.getElementById('input-text').value };
// port.postMessage(message);
// appendMessage("Sent message: <b>" + JSON.stringify(message) + "</b>");
// }
function onNativeMessage(message) {
appendMessage("Received message: <b>" + JSON.stringify(message) + "</b>");
}
// function onNativeMessage(message) {
// appendMessage("Received message: <b>" + JSON.stringify(message) + "</b>");
// }
function onDisconnected() {
appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
port = null;
updateUiState();
}
// function onDisconnected() {
// appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
// port = null;
// updateUiState();
// }
function connect() {
var hostName = "com.google.chrome.botext";
appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
port = chrome.runtime.connectNative(hostName);
port.onMessage.addListener(onNativeMessage);
port.onDisconnect.addListener(onDisconnected);
updateUiState();
}
// function connect() {
// var hostName = "com.google.chrome.botext";
// appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
// port = chrome.runtime.connectNative(hostName);
// port.onMessage.addListener(onNativeMessage);
// port.onDisconnect.addListener(onDisconnected);
// updateUiState();
// }
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('connect-button').addEventListener(
'click', connect);
document.getElementById('send-message-button').addEventListener(
'click', sendNativeMessage);
updateUiState();
});
// document.addEventListener('DOMContentLoaded', function () {
// document.getElementById('connect-button').addEventListener(
// 'click', connect);
// document.getElementById('send-message-button').addEventListener(
// 'click', sendNativeMessage);
// updateUiState();
// });