Greasy Fork is available in English.
a script to remove ads in www.zhihu.com
当前为
// ==UserScript==
// @name 知乎去广告、视频
// @namespace http://tampermonkey.net/
// @version 0.9
// @description a script to remove ads in www.zhihu.com
// @author CoderBen
// @match https://www.zhihu.com/*
// @grant none
// @icon https://tse2-mm.cn.bing.net/th/id/OIP.7D-LqgunUUDXVESZYas8GAHaHa?pid=Api&rs=1
// ==/UserScript==
(function() {
'use strict';
if (window.location.href.indexOf('/people/') > -1) return
removeHomeBar()
removeAds()
removeMovies()
window.onscroll = throttle(function() {
removeAds()
removeMovies()
}, 2000)
function removeAds () {
document.querySelectorAll('.TopstoryItem--advertCard').forEach(function(elem) {
elem.style.display = 'none'
})
document.querySelectorAll('.Pc-card').forEach(function(elem) {
elem.style.display = 'none'
})
// 移除首页顶部大广告
document.querySelector('.Topstory-container').previousSibling.remove()
document.querySelector('.Topstory-container').previousSibling.remove()
}
function removeMovies() {
document.querySelectorAll('[data-za-extra-module]').forEach(function(elem) {
if (elem.dataset.zaExtraModule.indexOf('has_video":true') > -1) {
elem.style.display = 'none'
elem.parentNode.style.height = '0'
elem.parentNode.style.border = 'none'
}
})
}
function removeHomeBar() {
document.querySelector('.Topstory-container').previousSibling.remove()
document.querySelector('.Topstory-container').previousSibling.remove()
}
function throttle(func, delay) {
let last;
return function () {
const _this = this;
const _args = arguments;
const now = +new Date();
if (last && now < last + delay) {
clearTimeout(func.tid);
func.tid = setTimeout(function () {
last = now;
func.call(_this, [..._args]);
}, delay);
} else {
last = now;
func.call(_this, [..._args]);
}
}
}
})();