首页 > 其他分享 >RemoveCookieWall,Firefox 扩展

RemoveCookieWall,Firefox 扩展

时间:2024-09-21 15:51:27浏览次数:7  
标签:body ... Firefox RemoveCookieWall 扩展 remove firefox document

您是否厌倦了网站上流行的横幅,以便您接受第三方 cookie 或结账?在这篇文章中,我解释了如何制作(并发布)一个 firefox 扩展以避免大多数网站出现这种情况信息此扩展的代码发布于 https://github.com/jagedn/removecookiewall-addon您可以从 https://addons.mozilla.org/es/firefox/addon/removecookiewall/ 在 firefox(也可在移动设备上)中安装它在几个月的时间里,由于欧洲的要求(我认为),大多数网站都会在您第一次访问它们时向您显示一个横幅,除非您在以下两者之间做出决定,否则您无法继续操作:我将在您的浏览器中放置数千个第三方 cookie,以监视您浏览的内容去收银台付钱给我,这样我就不会这样做大多数这些库会在页面加载后立即执行 javascript 来读取您的 cookie。如果他们发现您尚未签出,则会向您显示一个 html 对话框并阻止正文,将样式更改为“阻止”(或类似)这个对话框不允许您阅读下面的内容,但是...?它仍然是 html 的 dom 元素,因此,由于浏览器允许您打开开发控制台并检查 html,所以我想到了??手动消除对话框(您只需单击“检查”,在定义它的 html 中搜索并单击“删除”)和 chimpón,对话框就会消失。然后,我查找“body”声明,并通过双击样式属性,删除阻止它的属性,现在可以滚动。小魔法。然后发生了什么?好吧,javascript 代码只是一直等待用户事件到达,告诉它您按下了哪个按钮,但这些按钮不再存在,因此它永远不会到达,也不会安装第三方 cookie。好的,但是如果我刷新页面怎么办?好吧,重新开始...? 所以这非常适合新的浏览器扩展来为我做这件事。 删除 cookiewall 扩展firefox 扩展,简而言之,是一个保留的浏览器内存空间,其中执行可以与之对话的 javascript 代码。它可以(如果用户授予权限)将代码注入您访问的页面、打开选项卡、关闭选项卡、与远程服务通信......removecookiewall 是一个 firefox 扩展,它“唯一”需要的是浏览器向用户访问的所有页面注入一小段 javascript 代码。当页面加载时,这个 javascript 将检查是否有一个 dom 元素与我调查过的他们正在使用的任何元素相匹配。如果检测到它,它将使用标准 javascript 函数将其删除。由于横幅有时会在我们的代码执行后(毫秒)秒出现,因此脚本所做的就是重复搜索几秒钟。此后,如果横幅尚未出现,则扩展程序假定该页面没有 cookieewall 并结束这就是全部。剩下的就是打包代码,添加一个清单文件来指示我们的扩展所需的权限,然后在 firefox 中发布它 代码js代码基本上是:var readystatecheckinterval;var counter = 0;function sanitizebody() { document.body.style.overflow = "unset" document.body.classlist.remove('sxnlzit') document.body.classlist.remove('didomi-popup-open') document.body.parentnode.classlist.remove('sp-message-open')}function removeme(element) { element.remove(); sanitizebody();}readystatecheckinterval = setinterval(function() { if (document.readystate === "complete") { counter++; const removeparent = ['div.pmconsentwall']; //elpais [...removeparent].foreach(s => { var divs = document.body.queryselectorall(s); [...divs].foreach(element => { removeme(element.parentnode); }); }); const removethis = [ 'div[data-nosnippet="data-nosnippet"]', '#mrf-popup', '#didomi-popup', '[id^="sp_message_container_"]', '#cl-consent', 'dialog.cookie-policy' ]; [...removethis].foreach(s => { var divs = document.body.queryselectorall(s); [...divs].foreach(element => { removeme(element); }); }); if (counter > 30) { clearinterval(readystatecheckinterval); } }}, 100);登录后复制代码注入页面后,每隔 100 毫升开始一个间隔该脚本会查看 document.body.queryselectorall 是否找到任何元素,例如 #mrf-popup、#didomi-popup 等。如果找到它,只需使用 element.remove() 将其删除经过几次尝试,最终删除了间隔每个扩展都必须有一个 manifest 文件。此扩展的内容很简单:{ "description": "Remove CookieWall", "manifest_version": 2, "name": "RemoveCookieWall", "version": "0.11", "homepage_url": "https://github.com/jagedn/removecookiewall-addon", "icons": { "48": "icons/border-48.png" }, "content_scripts": [{ "matches": [ "*://*/*" ], "js": ["removeCookieWall.js"] }], "browser_specific_settings": { "gecko": { "id": "[email protected]" } }}登录后复制如你所见,content_scripts表示我们要将js注入到所有页面中。其他扩展只能指示一个站点,其他扩展在后台执行 javascript,... 构建并发布要在 firefox 中发布,我们只需提供包含扩展所需的所有文件的 zip 即可。为了简单起见,我创建了一个 build.sh 来简单地运行 zip:zip -r -fs ../remove-cookiewall.zip * --排除 '.git' --排除 'build.sh'在 firefox 中发布扩展程序没有任何复杂性,而且是免费的。您的扩展程序唯一必须通过可能需要一天(或几天)天的初步审核 以上就是RemoveCookieWall,Firefox 扩展的详细内容,更多请关注我的其它相关文章!

标签:body,...,Firefox,RemoveCookieWall,扩展,remove,firefox,document
From: https://www.cnblogs.com/aow054/p/18424118

相关文章

  • ReactJS 设计模式:编写健壮且可扩展的组件
    reactjs中的设计模式为应用程序开发中的常见问题提供了标准化且经过验证的解决方案。使用这些模式不仅使您的代码更具可读性和可维护性,而且还增强了其可扩展性和健壮性。让我们深入研究一些最流行的reactjs设计模式,并通过示例来说明它们的用法。1.容器和表示组件模式容......
  • Unity编辑器扩展秘籍-实现一个可拖放的List
    usingSystem;usingSystem.Collections.Generic;usingUnityEditor;usingUnityEngine;usingObject=UnityEngine.Object;namespaceyaojz{publicclassDroppableListView{privateList<DroppableItem>_datas=newList<DroppableIt......
  • 一文读懂HPA弹性扩展以及实践攻略
    一文读懂HPA弹性扩展以及实践攻略目录1概念:1.1什么是弹性扩展1.2HPA的工作原理1.3通过监控指标来调整副本数1.3.1计算公式说明1.3.2平均值计算1.3.3未就绪Pod和丢失的指标处理1.3.4多指标支持1.3.5缩减副本的平滑策略1.4HPA的优缺点2实践攻略:部署和配置......
  • C#|.net core 基础 - 扩展数组添加删除性能最好的方法
    今天在编码的时候遇到了一个问题,需要对数组变量添加新元素和删除元素,因为数组是固定大小的,因此对新增和删除并不友好,但有时候又会用到,因此想针对数组封装两个扩展方法:新增元素与删除元素,并能到达以下三个目标:1、性能优异;2、兼容性好;3、方便使用;这三个目标最麻烦的应该就是性......
  • 02 [proteus仿真]基于51单片机,74hs373,8255A扩展 流水灯设计
    目录一、主要功能二、硬件资源三、程序编程四、实现现象一、主要功能基于51单片机,74hs373,8255A扩展流水灯设计二、硬件资源基于KEIL5编写C++代码,PROTEUS8.15进行仿真,全部资源在页尾,提供安装包。三、程序编程#include<reg52.h>#include<intrins.h>#include......
  • 设计资料保存:372-基于XC7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证
      一、板卡概述      基于V7的高性能PCIe信号处理板,板卡选用Xilinx 公司Virtex7系列FPGA XC7VX690T-2FFG1761C为处理芯片,板卡提供两个标准FMC插槽,适用于高性能采集、回放以及相关处理。通过连接不同的FMC子卡的方式,可实现不同形式的数据采集、回放、处理的功能模块。板......
  • pbootcms提示:“未检测到您服务器环境的sqlite3数据库扩展...”
    当您在使用PbootCMS时遇到“未检测到您服务器环境的sqlite3数据库扩展...”的提示时,这通常意味着PHP环境缺少对SQLite3的支持。SQLite3是一个轻量级的嵌入式数据库引擎,它被广泛用于Web应用中,特别是在不需要完整服务器型数据库的情况下。要解决这个问题,您可以按照以下步骤进行:......
  • 扩展分析C语言单双引号、反斜杠与注释
    目录注释奇怪的注释C风格的注释无法嵌套一些特殊的注释注释的规则建议反斜杠'\'反斜杠有续行的作用,但要注意续行后不能添加空格回车也能起到换行的作用,那续行符的意义在哪?反斜杠的转义功能单引号和双引号字面值,字符串,字符,字符变量的大小为什么sizeof('1')的大小是4?char类型一......
  • 合宙Air201模组LuatOS扩展功能:温湿度传感器篇!
     通过前面几期的学习,同学们的学习热情越来越高。合宙Air201模组除了支持3种定位方式外,还具有丰富的扩展功能,比如:通过外扩BTB链接方案,最多可支持21个IO接口:SPI、I2C、UART等多种接口全部支持。本期,我们将学习合宙Air201的扩展应用之一——I2C驱动AHT10温湿度传感器Air201驱动AHT10......
  • 设计方案:372-基于7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证平台
    基于7VX690T的万兆光纤、双FMC扩展的综合计算平台RISCV芯片验证平台 一、板卡概述      基于V7的高性能PCIe信号处理板,板卡选用Xilinx 公司Virtex7系列FPGA 7VX690T-2FFG1761C为处理芯片,板卡提供两个标准FMC插槽,适用于高性能采集、回放以及相关处理。通过连接不同的FMC......