add adblock content script
This commit is contained in:
1 parent
5dba81e4a4
commit
f245fb048b
8 files changed
+117
-102
No files matched your search
@@ -0,0 +1,20 @@
|
||||
function getElementByXpath(path) {
|
||||
return document.evaluate(path, document, null, XPathResult.FIRST_ORDERED_NODE_TYPE, null).singleNodeValue;
|
||||
}
|
||||
|
||||
function removeElementByXpath(path) {
|
||||
var element = getElementByXpath(path);
|
||||
if (element) {
|
||||
element.remove();
|
||||
} else {
|
||||
// console.log("No element found with the provided XPath: " + path);
|
||||
}
|
||||
}
|
||||
|
||||
const ele_list = ['//*/div[@class="y-guide"]', '//*/div[@class="auxo-modal-root"]', '//*/div[contains(@class, "index_DragControlle")]']
|
||||
|
||||
setInterval(function () {
|
||||
for (let ele of ele_list) {
|
||||
removeElementByXpath(ele);
|
||||
}
|
||||
}, 500); // 300 毫秒
|
||||
+66
-66
@@ -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();
|
||||
// });
|
||||
|
||||
@@ -24,6 +24,15 @@
|
||||
],
|
||||
"run_at": "document_end",
|
||||
"world": "MAIN"
|
||||
},
|
||||
{
|
||||
"matches": [
|
||||
"https://*.jinritemai.com/*"
|
||||
],
|
||||
"js": [
|
||||
"adblock-cs.js"
|
||||
],
|
||||
"run_at": "document_end"
|
||||
}
|
||||
],
|
||||
"permissions": [
|
||||
|
||||
@@ -23,30 +23,30 @@
|
||||
// }
|
||||
// });
|
||||
|
||||
let port;
|
||||
// let port;
|
||||
|
||||
function sendMessage(message) {
|
||||
if (!port) {
|
||||
// this will run the first time to launch the native host, and save the connection to that instance in the port
|
||||
port = chrome.runtime.connectNative('com.woni.chrome.botext');
|
||||
}
|
||||
// Convert the message to a Uint8Array.
|
||||
var encoder = new TextEncoder();
|
||||
var messageBytes = encoder.encode(message);
|
||||
// Send the message length as a 32-bit integer.
|
||||
var buffer = new ArrayBuffer(4);
|
||||
var view = new DataView(buffer);
|
||||
view.setUint32(0, messageBytes.length, true);
|
||||
port.postMessage(buffer);
|
||||
// function sendMessage(message) {
|
||||
// if (!port) {
|
||||
// // this will run the first time to launch the native host, and save the connection to that instance in the port
|
||||
// port = chrome.runtime.connectNative('com.woni.chrome.botext');
|
||||
// }
|
||||
// // Convert the message to a Uint8Array.
|
||||
// var encoder = new TextEncoder();
|
||||
// var messageBytes = encoder.encode(message);
|
||||
// // Send the message length as a 32-bit integer.
|
||||
// var buffer = new ArrayBuffer(4);
|
||||
// var view = new DataView(buffer);
|
||||
// view.setUint32(0, messageBytes.length, true);
|
||||
// port.postMessage(buffer);
|
||||
|
||||
// Send the message content.
|
||||
port.postMessage(messageBytes);
|
||||
}
|
||||
// // Send the message content.
|
||||
// port.postMessage(messageBytes);
|
||||
// }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sendMessage('message 1');
|
||||
sendMessage('message 2');
|
||||
sendMessage('message 3');
|
||||
// sendMessage('message 1');
|
||||
// sendMessage('message 2');
|
||||
// sendMessage('message 3');
|
||||
Reference in new issue
Block a user