上一主题 下一主题
ScriptCat,新一代的脚本管理器脚本站,与全世界分享你的用户脚本油猴脚本开发指南教程目录
返回列表 发新帖

[油猴脚本开发指南]使用GM_addStyle去除网页广告

[复制链接]

163

主题

1157

帖子

638

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
638
发表于 2021-2-10 00:43:12 | 显示全部楼层 | 阅读模式

GM_addStyle介绍

GM_addStyle函数是添加CSS到网页中

创建了一个style元素标签,并且将函数内容插入到网页当中

GM_addStyle使用

这节课我们以樱花动漫网为例子

由于貌似存在好多网站

网站http://www.yhdm.io/

网站http://www.imomoe.ai

所以这节课我就简单以这两个网站为例子了

首先解决

http://www.imomoe.ai

图片.png

首先我们去除一下右下角的广告

用元素定位找到了

图片.png

然后在右边写上display:none发现广告消失了(display是展示的意思,none代表无)

图片.png

接下来视频两边的广告,可以找到

图片.png

设置display:none就可以了

但是这里我发现一个非常有意思的事情,就是第一个右下角的广告如果不加载,貌似两边的广告也不会加载,所以我就稍微偷一下懒了!

if(weburl.indexOf('www.imomoe.ai')!=-1)
{
         GM_addStyle('#HMRichBox{display:none !important}')
        GM_addStyle('#bdshare{display:none !important}')
    }

bdshare是分享按钮,我觉得没什么用,就也给去掉了

是代表id

HMRichBox是名字

我们需要用一个大括号包含我们想写的内容,之间每一个规则都用;来分割,这次只有一个规则,所以也不可加

直接写上display:none就好了

!important是什么意思呢?因为原网页就有display:xxxx,不同的css规则具有不同的高低等级,important通常可以提高到最高等级

这里为了防止原网页的覆盖,所以加上了important

然后我又发现暂停的时候偶尔也会出现广告

确定class为player_pause

但是这时候出现一个问题,就是我们使用GM_addstyle是不好使的

这是为什么?

查看网页发现其实播放器是一个iframe,就是一个网页包含了另一个网页

图片.png

那我们应该怎么处理?

骚操作来了,油猴不仅仅会加载在当前页面,如果我们在match填入iframe的链接,也会匹配到ifame内的网页进行处理

首先我添加saas.jialingmm.net/*是不好使的

所以我直接访问了下

https://saas.jialingmm.net/code.php?type=qiyi&vid=5680af4a488b920b2e2bbba3fb8abae3,302725300&userlink=http%3A%2F%2Fwww.imomoe.ai%2Fplayer%2F209-0-0.html&adress=HeiLongJiang

发现这是一个动态跳转的网页

目前的api链接是api.xiaomingming.org

所以我在match添加// @match api.xiaomingming.org/*

并且写入addstyle

这样http://www.imomoe.ai这个网页就彻底干净了

第二个网页的复杂处理

http://www.yhdm.io

右下角的问题相信大家已经知道怎么处理了(为什么都叫樱花动漫,但是域名不同,广告id都踏马相同?)

我们继续谈谈视频内的暂停广告

图片.png

这里依然使用了iframe

图片.png

我们访问这个链接依然是http://tup.yhdm.io

所以直接跟上一个网站同理设置就好了

最后附上脚本代码

也可以从https://bbs.tampermonkey.net.cn/thread-270-1-1.html安装

// ==UserScript==
// @name         【油猴中文网bbs.tampermonkey.net.cn】樱花去右下角广告以及弹窗
// @namespace    http://www.yhdm.io/
// @version      0.1
// @description  去除樱花动漫网广告,来源油猴中文网,bbs.tampermonkey.net.cn
// @author       【李恒道】来源油猴中文网,bbs.tampermonkey.net.cn
// @match        http://tup.yhdm.io/*
// @match        http://www.yhdm.io/*
// @match        http://www.imomoe.ai/*
// @match        api.xiaomingming.org/*
// @grant       GM_addStyle
// @grant       unsafeWindow
// @supportURL   https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=270
// @homepage     https://bbs.tampermonkey.net.cn/forum.php?mod=viewthread&tid=270
// ==/UserScript==
let weburl=unsafeWindow.location.href
    if(weburl.indexOf('api.xiaomingming.org')!=-1)
    {
    GM_addStyle('#player_pause{display:none !important}')
    }
    if(weburl.indexOf('tup.yhdm.io')!=-1)
    {
    GM_addStyle('#img-random-hm1{display:none !important}')
    }
if(weburl.indexOf('www.yhdm.io')!=-1)
{
         GM_addStyle('#HMRichBox{display:none !important}')
        GM_addStyle('#bdshare{display:none !important}')
    }

if(weburl.indexOf('www.imomoe.ai')!=-1)
{
         GM_addStyle('#HMRichBox{display:none !important}')
        GM_addStyle('#bdshare{display:none !important}')
    }

混的人。

87

主题

338

帖子

234

积分

版主

Rank: 7Rank: 7Rank: 7

积分
234

猫咪币纪念章活跃会员热心会员三好学生中秋纪念章国庆纪念章

发表于 2021-2-10 11:03:39 | 显示全部楼层
哥哥牛逼
提及少年一词,应与平庸相斥!微信公众号——智家乐享
回复

使用道具 举报

84

主题

864

帖子

690

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
690

猫咪币纪念章热心会员活跃会员突出贡献三好学生中秋纪念章国庆纪念章

发表于 2021-2-10 12:27:02 | 显示全部楼层
woc?我的饭碗
上不慕古,下不肖俗。为疏为懒,不敢为狂。为拙为愚,不敢为恶。/ 微信公众号:一之哥哥
回复

使用道具 举报

0

主题

4

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2021-9-14 22:21:17 | 显示全部楼层
我按照你的思路写了一个类似的.
我发现一到播放视频那个iframe的时候,那个iframe就会发生error 403,不知到什么情况.可以帮我看看吗
  1. // ==UserScript==
  2. // @name         New Userscript1
  3. // @namespace    http://www.yhdm.so/
  4. // @version      0.1
  5. // @description  try to take over the world!
  6. // @author       You
  7. // @match        http://www.yhdm.so/*
  8. // @match        http://tup.yhdm.so/*
  9. // @icon         https://www.google.com/s2/favicons?domain=yhdm.so
  10. // @grant        unsafeWindow
  11. // @grant        GM_addStyle
  12. // ==/UserScript==

  13. (function() {
  14.     'use strict';

  15.     // Your code here...
  16.     let weburl = unsafeWindow.location.href;
  17.     if(weburl.indexOf('www.yhdm.so')!= -1){
  18.         GM_addStyle('#HMRichBox{display:none !important}');
  19.         GM_addStyle('#HMimageright{display:none !important}');
  20.         GM_addStyle('#HMimageleft{display:none !important}');
  21.     }
  22.     if(weburl.indexOf('tup.yhdm.so')!= -1){
  23.         GM_addStyle('#img-random-hm1{display:none !important}');
  24.     }
  25. })();
复制代码
回复

使用道具 举报

163

主题

1157

帖子

638

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
638
发表于 2021-9-15 01:34:28 | 显示全部楼层
主治医生赵大宝 发表于 2021-9-14 22:21
我按照你的思路写了一个类似的.
我发现一到播放视频那个iframe的时候,那个iframe就会发生error 403,不知到 ...

http://www.yhdm.so/v/5275-8.html
测试了下
你脚本应该是没问题的
错的是世界!
已有1人评分好评 油猫币 贡献 理由
陈孤岛 + 1 + 1 + 1 ggnb!

查看全部评分 总评分:好评 +1  油猫币 +1  贡献 +1 

混的人。
回复

使用道具 举报

发表回复

本版积分规则

快速回复 返回顶部 返回列表