add adblock content script
This commit is contained in:
1 parent
5dba81e4a4
commit
f245fb048b
8 files changed
+116
-101
No files matched your search
@@ -1,6 +0,0 @@
|
|||||||
HTTP/1.1 411 Length Required
|
|
||||||
Content-Type: text/html; charset=us-ascii
|
|
||||||
Date: Fri, 03 Nov 2023 16:19:55 GMT
|
|
||||||
Connection: close
|
|
||||||
Content-Length: 344
|
|
||||||
|
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
HTTP/1.1 100 Continue
|
|
||||||
|
|
||||||
HTTP/1.1 202 Accepted
|
|
||||||
Content-Length: 0
|
|
||||||
Location: 9a95fdfe-adfe-4e98-be34-70d029205fea
|
|
||||||
Strict-Transport-Security: max-age=31536000; includeSubDomains
|
|
||||||
Request-Context: appId=cid-v1:23f44029-850d-47f4-8c9f-200d01ff4866
|
|
||||||
Date: Fri, 03 Nov 2023 16:20:15 GMT
|
|
||||||
|
|
||||||
@@ -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() {
|
// async function isDynamicContentScriptRegistered() {
|
||||||
const scripts = await chrome.scripting.getRegisteredContentScripts();
|
// const scripts = await chrome.scripting.getRegisteredContentScripts();
|
||||||
return scripts.some((s) => s.id === DYNAMIC_SCRIPT_ID);
|
// return scripts.some((s) => s.id === DYNAMIC_SCRIPT_ID);
|
||||||
}
|
// }
|
||||||
|
|
||||||
async function getActiveTab() {
|
// async function getActiveTab() {
|
||||||
const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
// const [tab] = await chrome.tabs.query({ active: true, lastFocusedWindow: true });
|
||||||
return tab;
|
// return tab;
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
document.querySelector('#addRecord').addEventListener('click', async () => {
|
// document.querySelector('#addRecord').addEventListener('click', async () => {
|
||||||
|
|
||||||
console.log('[Demo] ==============================================');
|
// console.log('[Demo] ==============================================');
|
||||||
console.log('[Demo] Test send message from popup script to content script');
|
// console.log('[Demo] Test send message from popup script to content script');
|
||||||
const tab = await getActiveTab();
|
// const tab = await getActiveTab();
|
||||||
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'addRecord' });
|
// const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'addRecord' });
|
||||||
console.log('[Demo] receive', ret);
|
// console.log('[Demo] receive', ret);
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
document.querySelector('#deleteRecord').addEventListener('click', async () => {
|
// document.querySelector('#deleteRecord').addEventListener('click', async () => {
|
||||||
|
|
||||||
console.log('[Demo] ==============================================');
|
// console.log('[Demo] ==============================================');
|
||||||
console.log('[Demo] Test send message from popup script to content script');
|
// console.log('[Demo] Test send message from popup script to content script');
|
||||||
const tab = await getActiveTab();
|
// const tab = await getActiveTab();
|
||||||
const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'deleteRecord' });
|
// const ret = await chrome.tabs.sendMessage(tab.id, { msg: 'ping from popup script', func: 'deleteRecord' });
|
||||||
console.log('[Demo] receive', ret);
|
// console.log('[Demo] receive', ret);
|
||||||
|
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
var port = null;
|
// var port = null;
|
||||||
|
|
||||||
function appendMessage(text) {
|
// function appendMessage(text) {
|
||||||
document.getElementById('response').innerHTML += "<p>" + text + "</p>";
|
// document.getElementById('response').innerHTML += "<p>" + text + "</p>";
|
||||||
}
|
// }
|
||||||
|
|
||||||
function updateUiState() {
|
// function updateUiState() {
|
||||||
if (port) {
|
// if (port) {
|
||||||
document.getElementById('connect-button').style.display = 'none';
|
// document.getElementById('connect-button').style.display = 'none';
|
||||||
document.getElementById('input-text').style.display = 'block';
|
// document.getElementById('input-text').style.display = 'block';
|
||||||
document.getElementById('send-message-button').style.display = 'block';
|
// document.getElementById('send-message-button').style.display = 'block';
|
||||||
} else {
|
// } else {
|
||||||
document.getElementById('connect-button').style.display = 'block';
|
// document.getElementById('connect-button').style.display = 'block';
|
||||||
document.getElementById('input-text').style.display = 'none';
|
// document.getElementById('input-text').style.display = 'none';
|
||||||
document.getElementById('send-message-button').style.display = 'none';
|
// document.getElementById('send-message-button').style.display = 'none';
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
function sendNativeMessage() {
|
// function sendNativeMessage() {
|
||||||
message = { "text": document.getElementById('input-text').value };
|
// message = { "text": document.getElementById('input-text').value };
|
||||||
port.postMessage(message);
|
// port.postMessage(message);
|
||||||
appendMessage("Sent message: <b>" + JSON.stringify(message) + "</b>");
|
// appendMessage("Sent message: <b>" + JSON.stringify(message) + "</b>");
|
||||||
}
|
// }
|
||||||
|
|
||||||
function onNativeMessage(message) {
|
// function onNativeMessage(message) {
|
||||||
appendMessage("Received message: <b>" + JSON.stringify(message) + "</b>");
|
// appendMessage("Received message: <b>" + JSON.stringify(message) + "</b>");
|
||||||
}
|
// }
|
||||||
|
|
||||||
function onDisconnected() {
|
// function onDisconnected() {
|
||||||
appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
|
// appendMessage("Failed to connect: " + chrome.runtime.lastError.message);
|
||||||
port = null;
|
// port = null;
|
||||||
updateUiState();
|
// updateUiState();
|
||||||
}
|
// }
|
||||||
|
|
||||||
function connect() {
|
// function connect() {
|
||||||
var hostName = "com.google.chrome.botext";
|
// var hostName = "com.google.chrome.botext";
|
||||||
appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
|
// appendMessage("Connecting to native messaging host <b>" + hostName + "</b>")
|
||||||
port = chrome.runtime.connectNative(hostName);
|
// port = chrome.runtime.connectNative(hostName);
|
||||||
port.onMessage.addListener(onNativeMessage);
|
// port.onMessage.addListener(onNativeMessage);
|
||||||
port.onDisconnect.addListener(onDisconnected);
|
// port.onDisconnect.addListener(onDisconnected);
|
||||||
updateUiState();
|
// updateUiState();
|
||||||
}
|
// }
|
||||||
|
|
||||||
document.addEventListener('DOMContentLoaded', function () {
|
// document.addEventListener('DOMContentLoaded', function () {
|
||||||
document.getElementById('connect-button').addEventListener(
|
// document.getElementById('connect-button').addEventListener(
|
||||||
'click', connect);
|
// 'click', connect);
|
||||||
document.getElementById('send-message-button').addEventListener(
|
// document.getElementById('send-message-button').addEventListener(
|
||||||
'click', sendNativeMessage);
|
// 'click', sendNativeMessage);
|
||||||
updateUiState();
|
// updateUiState();
|
||||||
});
|
// });
|
||||||
|
|
||||||
@@ -24,6 +24,15 @@
|
|||||||
],
|
],
|
||||||
"run_at": "document_end",
|
"run_at": "document_end",
|
||||||
"world": "MAIN"
|
"world": "MAIN"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"matches": [
|
||||||
|
"https://*.jinritemai.com/*"
|
||||||
|
],
|
||||||
|
"js": [
|
||||||
|
"adblock-cs.js"
|
||||||
|
],
|
||||||
|
"run_at": "document_end"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"permissions": [
|
"permissions": [
|
||||||
|
|||||||
@@ -23,30 +23,30 @@
|
|||||||
// }
|
// }
|
||||||
// });
|
// });
|
||||||
|
|
||||||
let port;
|
// let port;
|
||||||
|
|
||||||
function sendMessage(message) {
|
// function sendMessage(message) {
|
||||||
if (!port) {
|
// if (!port) {
|
||||||
// this will run the first time to launch the native host, and save the connection to that instance in the 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');
|
// port = chrome.runtime.connectNative('com.woni.chrome.botext');
|
||||||
}
|
// }
|
||||||
// Convert the message to a Uint8Array.
|
// // Convert the message to a Uint8Array.
|
||||||
var encoder = new TextEncoder();
|
// var encoder = new TextEncoder();
|
||||||
var messageBytes = encoder.encode(message);
|
// var messageBytes = encoder.encode(message);
|
||||||
// Send the message length as a 32-bit integer.
|
// // Send the message length as a 32-bit integer.
|
||||||
var buffer = new ArrayBuffer(4);
|
// var buffer = new ArrayBuffer(4);
|
||||||
var view = new DataView(buffer);
|
// var view = new DataView(buffer);
|
||||||
view.setUint32(0, messageBytes.length, true);
|
// view.setUint32(0, messageBytes.length, true);
|
||||||
port.postMessage(buffer);
|
// port.postMessage(buffer);
|
||||||
|
|
||||||
// Send the message content.
|
// // Send the message content.
|
||||||
port.postMessage(messageBytes);
|
// port.postMessage(messageBytes);
|
||||||
}
|
// }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sendMessage('message 1');
|
// sendMessage('message 1');
|
||||||
sendMessage('message 2');
|
// sendMessage('message 2');
|
||||||
sendMessage('message 3');
|
// sendMessage('message 3');
|
||||||
@@ -75,6 +75,7 @@ errorCode=$(echo $check_publish_response | jq -r '.errorCode')
|
|||||||
# 检查 errorCode 是否为 null
|
# 检查 errorCode 是否为 null
|
||||||
if [ "$errorCode" = "null" ]; then
|
if [ "$errorCode" = "null" ]; then
|
||||||
echo "Submit successful."
|
echo "Submit successful."
|
||||||
|
rm $file_name
|
||||||
else
|
else
|
||||||
echo "Operation failed. Error code: $errorCode"
|
echo "Operation failed. Error code: $errorCode"
|
||||||
errors=$(echo $check_publish_response | jq -r '.message')
|
errors=$(echo $check_publish_response | jq -r '.message')
|
||||||
|
|||||||
Reference in new issue
Block a user