前言

女朋友喜欢追剧,自己从网上找了点解析各大平台视频的接口,但是这些接口都有广告,为了画面美观,想着自己折腾一下把广告去掉,话不多说直接开整。

dom 操作 (2024.11.6 已废弃)

一开始的思路是想着直接在我的在线影院的代码里直接用 dom 操作将广告的 dom 隐藏,但是发现 iframe 里使用 dom 操作不同源搞起来太麻烦。

广告节点

1
2
let adv_wrap_hh =  document.getElementById('adv_wrap_hh')
adv_wrap_hh.style.display = 'none'
  • JavaScript 控制 iframe 里面的内容通常受到同源策略的限制。同源策略要求页面和 iframe 内容必须来自同一个源(即相同的协议、域名和端口)。如果页面和 iframe 的内容不是同一个源,浏览器出于安全考虑,会阻止 JavaScript 访问 iframe 内的 DOM。

  • 所以我选择了用油猴脚本来操作。

油猴脚本

油猴脚本是一种浏览器扩展,允许用户自定义和修改网页的行为。它使用 JavaScript 语言编写,并嵌入到网页中,以实现对网页的增强和定制。由于用的是 JavaScript 编写的,我很快就写完了,但是发现下面代码根本没用还是有广告。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// ==UserScript==
// @name 在线影院免广告
// @namespace https://github.com/Fano-O/
// @version 1.0.0
// @description 在线影院搭配脚本使用效果更佳
// @author Fano-O
// @match https://www.richfan.cn/video
// @icon https://www.richfan.cn/img/favicon.png
// @grant none
// ==/UserScript==

(function () {
'use strict';

window.onload = function () {
let video = document.querySelector('video');
video.addEventListener('pause', function () {
console.log('视频已暂停');
let adv_wrap_hh = document.getElementById('adv_wrap_hh')
if (adv_wrap_hh) {
adv_wrap_hh.remove()
console.log('广告已隐藏');
} else {
console.error('广告元素未找到');
}
});
}
})();
  • 正当我一头雾水的时候,发现油猴它出现了两次,但我只 match 了自己的网站。

油猴出现了两次

  • 将 match 改成下面这样就行了
1
2
3
4
// @match        https://jx*
// @match https://jx.xmflv.com/*
// @match https://jx.m3u8.tv/*
// @match https://www.ckplayer.vip/*

已删除广告

GM_addStyle 指令

在油猴(Tampermonkey)脚本中,@grant GM_addStyle 是一个指令,用于声明脚本需要使用 GM_addStyle 这个特定的 GM 函数。GM_addStyle 函数的作用是将 CSS 样式添加到当前网页中,它创建一个 style 标签,并将传入的 CSS 内容插入到这个标签中,从而实现动态地修改网页样式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
// ==UserScript==
// @name 在线影院免广告
// @namespace https://github.com/Fano-O/
// @version 1.0.0
// @description 在线影院搭配脚本使用效果更佳
// @author Fano-O
// @match https://jx*
// @match https://jx.xmflv.com/*
// @match https://jx.m3u8.tv/*
// @match https://www.ckplayer.vip/*
// @icon https://www.richfan.cn/img/favicon.png
// @grant GM_addStyle
// ==/UserScript==

(function () {
'use strict';
GM_addStyle("#adv_wrap_hh { display: none !important; }");
})();

结语

虽然这脚本代码没多少,但是是自己一步步研究出来的,还是挺有收获的。
在线影院可以解析各大平台的视频,欢迎大家结合本脚本使用,体验感更佳哟
点击右上角在线影院或者点击下方链接。

在线影院

使用教程

  1. 从 URL 安装油猴脚本
    1
    https://www.richfan.cn/js/1.0.1.user.js
    从 URL 安装油猴脚本
  2. 启用脚本
    启用油猴脚本
  3. 去各大平台搜索自己想看的影片
    搜索影片
  4. 复制链接
    复制链接
  5. 粘贴到输入框,选择任意线路,点击开始解析即可
    选择接口