JS去掉畅言广告

前言

要不是后台有一位同学给我留言,我还一直没发现畅言的评论框开始投放广告了,因为我一直使用的是ad-block进行广告屏蔽,所以一直没有看到畅言的广告。后来在safari下面打开一看,还真有,简直过分!我在想,是不是畅言团队默认开启这个功能的呢?或许,到畅言后台有什么窗口可以关闭,或者是这部分广告还可以补贴一下博主?

???心中一万匹草泥马狂奔而过。不仅收用户的钱,还收博主的钱!!!这个产品经理心中一定在窃喜自己有多聪明,实际上你,唉,不说了。

解决方案

通过观察畅言的广告区域的代码,可以看到它的区域有一个ID是feedAv,因此,我们可以通过将这个区域设置为不可见即可。

代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function loadCssCode(code) {
var style = document.createElement('style');
style.type = 'text/css';
style.rel = 'stylesheet';
//for Chrome Firefox Opera Safari
style.appendChild(document.createTextNode(code));
//for IE
//style.styleSheet.cssText = code;
var head = document.getElementsByTagName('head')[0];
head.appendChild(style);
}
var dsq = null;
//去除畅言广告
dsq = setInterval('if(document.getElementById("feedAv")){document.getElementById("feedAv").id="feedAvi";window.clearInterval(dsq);}', 1000);
loadCssCode('#feedAvi{position: absolute !important;z-index: -9999;top: -1000px;}');

那这部分代码具体放在什么地方呢?就是你引用畅言JS代码的下面,一旦畅言JS一加载,下面这段代码就会立即执行。

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
29
30
31
32
33
34
35
36
37
38
(function () {
var appid = '<%= theme.comment.changyan.appId %>';
var conf = '<%= theme.comment.changyan.appKey %>';
var width = window.innerWidth || document.documentElement.clientWidth;
if (width < 960) {
window.document.write('<script id="changyan_mobile_js" charset="utf-8" type="text/javascript" src="https://changyan.sohu.com/upload/mobile/wap-js/changyan_mobile.js?client_id=' + appid + '&conf=' + conf + '"><\/script>');
} else {
var loadJs = function (d, a) {
var c = document.getElementsByTagName("head")[0] || document.head || document.documentElement;
var b = document.createElement("script");
b.setAttribute("type", "text/javascript");
b.setAttribute("charset", "UTF-8");
b.setAttribute("src", d);
if (typeof a === "function") {
if (window.attachEvent) {
b.onreadystatechange = function () {
var e = b.readyState;
if (e === "loaded" || e === "complete") {
b.onreadystatechange = null;
a()
}
}
} else {
b.onload = a
}
}
c.appendChild(b)
};
loadJs("https://changyan.sohu.com/upload/changyan.js", function () {
window.changyan.api.config({
appid: appid,
conf: conf
})
});
}
})();

// 放置上面的去广告代码

总结

上述的代码能够让你将畅言的广告屏蔽掉,我其实在想有多少人会去买这个去广告的产品,一个月49元真的有市场吗?我记得之前好像还是99元,现在往下调整将近一半的价格可以推测世界上傻子并不多。这笔钱虽然不多,但是够恶心人。

参考文章 https://blog.csdn.net/xiaohxx/article/details/80621717

分享到