ニコニコの再生前広告が長くなってヘイトが高まったので作成。自由に使ってください。 メインコンテンツの閲覧を阻害しない広告は見てあげようと思っているのでAdblock系の使用は避けたかった。
- // ==UserScript==
- // @name nicovideo_ads_blocker
- // @version 1
- // @include http://www.nicovideo.jp/watch/*
- // @grant none
- // ==/UserScript==
- window.eval(`
- //再生前広告ブロック: 再生前広告用取得呼び出しに対して噓を吐くfetch
- if(!window.fetch._replaced){
- let _fetch = window.fetch;
- window.fetch = function(url){
- if(url.indexOf("http://ads.nicovideo.jp/api/video/getAd.php") != 0){
- return _fetch(... arguments);
- }
- return new Promise((r) => {
- r({
- text: () => {
- return new Promise((r) => {
- r('<?xml version="1.0" encoding="UTF-8"?><VAST version="3.0"></VAST>');
- });
- }
- });
- });
- };
- window.fetch._replaced = true;
- }
- //ついでに他の広告も消す
- if(window.Ads && window.Ads.__internal__ && window.Ads.__internal__.Api){
- let api = window.Ads.__internal__.Api;
- for(let i = 0; i < api.count; i++){
- window[api.prefix + "_" + i] = function(){};
- }
- api.loadScript = function(){};
- }
- `);