1
0
mirror of https://gitee.com/bitdance-team/chrome-extension synced 2025-01-31 15:30:25 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

42 lines
1.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

var AdsBlockStatus = true;
// refer: https://www.it1352.com/1996113.html
chrome.webRequest.onBeforeRequest.addListener(
function (details) {
if (!AdsBlockStatus)
return { cancel: false }; // 如果没有开启此功能,不处理
if (!details || !details.initiator || !details.url)
return { cancel: false }; // 如果没有请求信息则可能是chrome://开头的页面,不处理
let isBlock = false
|| details.initiator === "https://googleads.g.doubleclick.net"
|| details.initiator.indexOf("googleads.g.doubleclick.net") != -1
|| details.url.indexOf("googleads.g.doubleclick.net") != -1
|| details.url.indexOf("pagead2.googlesyndication.com") != -1
|| details.url.indexOf("pagead2.googlesyndication.com") != -1
|| details.url.indexOf("partner.googleadservices.com") != -1
|| details.url.indexOf("adservice.google.com") != -1
|| details.url.indexOf("googleads") != -1
|| details.url.indexOf("adsbygoogle") != -1
if (isBlock) // 拦截后打印到控制台显示
console.log(isBlock ? "block" : "allow", details)
return { cancel: isBlock };
},
{ urls: ["<all_urls>"] },
["blocking"]
);
// 由于上方拦截函数不可以是异步函数,所以设置变更后需要及时调用此函数
var updateAdsBlockStatus = (status) => {
AdsBlockStatus = !!status;
console.log("AdsBlock Status: ", AdsBlockStatus);
}
// 插件刚开始加载时,先读取一次状态
chrome.storage.sync.get('State_AdsBlock', function (State) {
updateAdsBlockStatus(State.State_AdsBlock);
});