zoukankan      html  css  js  c++  java
  • 点赞和吐糟Adblock Plus~进阶教程

    前言:Adblock Plus后文都简称ABP,这是一篇ABP进阶教程!用ABP实现flashBlock和NoScript。推荐有相当基础的阅读。刚開始学习的人先看懂这里:http://adblockplus.org/zh_CN/filters


    先夸夸ABP,它是最流行、语法最完好严谨的过滤软件,其他同类都以它为标准。它把网络资源按以下选项分几大类:
    script —— 外部脚本,由 HTML script 标签载入
    image —— 正常图片。通常由 HTML 的 img 标签所载入
    stylesheet —— 外部 CSS 样式文件
    object —— 由浏览器插件处理的内容。比如 Flash 或 Java
    xmlhttprequest —— XMLHttpRequest 对象
    object-subrequest —— 插件的请求。比方Flash
    subdocument —— 内嵌的页面。通常通过 HTML 的框架方式内嵌
    media —— HTML5的audio,video标签指定的多媒体资源
    document —— 网页本身(仅仅适用于 例外规则 )
    elemhide —— 仅仅适用于例外规则,相似于document 可是仅仅禁用页面上的隐藏规则而不是全部规则(须要ABP1.2 或更高版本号)
    other —— 其他不在上面的类型的请求

    这样做好分类,才干更有针对性的过滤广告!

    另外还有个弹窗选项popup,如||189.cn^$popup,third-party,可阻止电信截持弹出窗体。

    ABP最强大的语法还是:third-party、domain二选项和~反义符。注意~可用于域名和选项(~stylesheet非经常常使用)。
    |https://$third-party,domain=greasyfork.org,仅仅用一条语句就阻止了greasyfork.org全部的第三方广告。|http://$script,domain=ty2016.com|eywedu.com|365essay.com就禁止N多站点的脚本,这条语句就实现NoScript。

    third-party,domain选项组合简直就是神器!如
    |http://$script,third-party,domain=dy1000.com|yatu.tv
    雅图yatu.tv的广告脚本是网页内嵌,所以没办法直接过滤,并且其调用的广告平台也是经常变动的。但上一条语句以不变应万变。一条语句搞定N多站点的第三资源(可不止指定脚本)!有兴趣的可试验一下:把其他全部的规则都删除,仅仅保留上一条,雅图yatu.tv还是干干净净的。

    一条语句实现flashBlock:
    |http://$object,domain=~youku.com|~tudou.com|~iqiyi.com|~pps.tv|~yatu.tv|~1ting.com
    用flashBlock的能够删了。。

    写过滤规则感到不便。希望添加一个相似^的替代符号。如
    用`指代./-_等连接符。


    以下吐糟ABP,或者说对ABP的期盼!


    ABP办不到的事:
    1、改动DOM
    2、$third-party选项对三段式域名不起效(这也算是ABP的BUG吧,从源代码上来说。这个功能非常容易实现),但有替代方式。如|http://live.ali213.net/$domain=~live.ali213.net
    3、无法过滤内嵌到网页的脚本,这倒非常好理解~由于第一条
    4、没有实现黑名单。如一些有危害的站点,设定网址后也不能禁止訪问,仅仅能间接用$popup选项。但也无法阻止直接从地址栏訪问。

    ABP for chrome的功能缺陷,或者说不如for firefox版的地方:
    1、相似语法||cnzz.不支持[BUG],仅仅能用多条匹配语句取代:
    |http://cnzz.
    |http://*.cnzz.*^

    如要支持HTTPS协议就变四条了!


    2、对object、object-subrequest二选项的支持不够,解决方法,细致设定网址。如:
    |http://*.swf^$domain=youku.com
    firefox:|http://$object,domain=youku.com
    。但这样做的差别还是非常明显,firefox全然屏蔽播放器,chrome则显示无法载入影片。


    3、[BUG]$domain设定多个域名时,若当中有三段式域名,会有失效的情况。这种情形在世界之窗6和360极速浏览器的内置ABP表现非常明显!

  • 相关阅读:
    Redis(五)——主从做读写分离原理与优化
    Redis(四)——持久化方案(RDB和AOF使用)
    Redis(三)——高级用法(GEO地理位置信息)
    Redis(二)——五大数据类型的基本操作(字符串类型,哈希类型,列表类型,集合类型,有序集合类型)
    Redis(一)——redis初识,redis安装和启动
    15 Ajax技术
    ORM多表分组、F与Q查询
    ORM多表操作
    ORM单表操作
    CentOS 7 下 rdesktop 的安装
  • 原文地址:https://www.cnblogs.com/zfyouxi/p/5387107.html
Copyright © 2011-2022 走看看