因为跟 Cnbeta 这么玩真的毫无聊,有这些时间我还不如多码几行代码,人家还会发工资给我。
顺道求比较靠谱的IT界资讯站点,很多年都只看Cnbeta的,不是因为它好,而是因为无知。
所以如果 Cnbeta 继续在广告这件事上发力,那么是时候把CB从收藏夹移除了。哦对了,推荐的资讯站最好有手机版哈,不要H5而是原生APP的那种。
大家都是搞IT的,何必在这种事情上纠缠不清是吧。
我是路标
2^0 广告,万恶之源
其实并不是很愿意谈去广告的问题,毕竟这是网站生存的根本,但是CnBeta的广告实在是……不敢恭维,广告多,位置乱,质量烂(这个是可以理解的,毕竟大多是百度的联盟广告,质量只能用渣来形容了)。
每次说到中国互联网广告泛滥的话题,我都要扛出这样一张经典的图(2013年的微博配图,原博见这里)。
2^1 然而这些广告很容易去掉
毕竟Cnbeta自己不产广告,这些广告基本上都是第三方的,因此很容易通过各种去广告插件和Hosts进行屏蔽,哪怕IE都可以通过跟踪保护干掉绝大部分广告。
因此,大概是CnBeta最近有点缺钱,就请求大家不要屏蔽他的广告……
其实这个诉求是很合理的(我上次也说过),但是你的广告辣么多辣么Low,我完全没有想看的念头啊喂……
甚至我宁愿每次去点一下这个“我知道了”……
大概这和他们宁愿看优酷片头长达半分钟的黑屏也不愿看那轰隆轰隆震天响的非主流广告是一个原因吧……乃们的广告毕竟不像肯德基之类的广告经典到我想去主动找来看啊……
01+11 最开始的求助
在我刚才说的那条微博里,其实很好屏蔽这种提示。虽然有人说用CSS语法屏蔽啊啥的,没错是这样,但是很明显不需要啊。。
因为那个时候Cnbeta的这个求助是放在单独的JS中的。。简称JS求助大法。这个JS地址就是 http://www.cnbeta.com/assets/js/pages/needhelp.js
,地址多明显,needhelp……
不管是用Adblock还是IE的跟踪保护都可以很容易地干掉这个JS,它的检测逻辑……我没看,毕竟那个不重要。这个JS地址现在都还是可以继续访问的……
然而我并没有去屏蔽这个JS。为了表示对他们的尊重,我忍着辛苦点“我知道了”点了好多天。
11+11 好吧又改了……
今天下午有同学微博上给我评论,说评论JS的方法已经失效了。
我心想难道还有改进……果然用独立js这方法太脆弱了,只要不是白痴都能想到直接屏蔽这个JS了事的……
看了一下,发现他们把检测逻辑放到 article.js
这个主JS里了……完整地址是 http://www.cnbeta.com/assets/js/pages/article.js?v=2014
。
怎么看出来的呢……主要是靠猜,因为浏览各个JS后发现这个JS最下面有一块地方是通过Packer压缩的。其它的JS连空格都不压缩的,独于这一块还用Packer压缩混淆简直是此地无银三百两么不是……
eval(function(p,a,c,k,e,r){e=function(c){return(c<a?":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!".replace(/^/,String)){while(c–)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c–)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('4z(4q(p,a,c,k,e,r){e=4q(c){4p(c<a?\'\':e(4v(c/a)))+((c=c%a)>35?4s.4w(c+29):c.4A(36))};4r(!\'\'.4t(/^/,4s)){4u(c–)r[e(c)]=k[c]||e(c);k=[4q(e){4p r[e]}];e=4q(){4p\'\\\\w+\'};c=1};4u(c–)4r(k[c])p=p.4t(4x 4y(\'\\\\b\'+e(c)+\'\\\\b\',\'g\'),k[c]);4p p}(\'3P.2f.2R&&(32.3w=k(){$(".1N").2O(k(){2P(0==x.37){U a=3.V("2″);a.9="g"+1a.1k();a.K=\\\'<2 8="g-2G" 5="D:Z;I:#33;z-1j:3K;t:0.6;1B:2r(t=1I);-2H-1B:2I:2L.2M.2N(t=1I);e:0;L:0;N:0;i:0″></2><2 8="g-j" 5="z-1j:34;H:3b;3f:3p;D:Z;l:3A #10 11;e:19%;i:19%;f-e:-1X;f-i:-1Y;l-23:27;I:#2a;l-i:2c 11 #10″><2 8="j-2e 2g-l"><1c 8="j-2F">v.h \\\\r\\\\2J\\\\1w\\\\4\\\\1E\\\\G</1c></2><2 8="j-c"><p>v.h \\\\2S\\\\2U\\\\31\\\\M\\\\s\\\\O\\\\P\\\\Q\\\\R\\\\3g\\\\3h\\\\3i\\\\S\\\\3q\\\\3v\\\\7\\\\3x\\\\3y\\\\u\\\\3B\\\\3C\\\\3D\\\\3F\\\\3I\\\\3J\\\\y\\\\W\\\\4\\\\3W\\\\4e\\\\Y\\\\w\\\\7\\\\1O\\\\1P\\\\1Q\\\\1R\\\\1S\\\\4\\\\1T\\\\1U\\\\1V\\\\1W\\\\d\\\\m\\\\1Z\\\\20\\\\21\\\\22\\\\12\\\\24\\\\25\\\\26\\\\13\\\\28\\\\29\\\\14\\\\2b\\\\O\\\\P\\\\15\\\\u\\\\2d\\\\16\\\\T\\\\17\\\\4\\\\16\\\\2h\\\\2i\\\\2j\\\\4\\\\2k\\\\2l\\\\7\\\\2m\\\\M\\\\s\\\\2n\\\\2o\\\\13\\\\2p\\\\2q\\\\18\\\\2s\\\\2t\\\\2u\\\\17\\\\2v\\\\7\\\\2w\\\\2x\\\\2y\\\\T\\\\d\\\\m\\\\2z\\\\s\\\\y\\\\2A\\\\2B\\\\R\\\\4\\\\Q\\\\2C%\\\\15\\\\u\\\\2D\\\\2E\\\\A\\\\B\\\\4\\\\18\\\\1b\\\\C</p><p 8="b">\\\\2K\\\\1d\\\\1e\\\\G v.h \\\\Y\\\\w\\\\1f\\\\1g\\\\1h\\\\y\\\\W\\\\7\\\\2Q\\\\12\\\\1i\\\\14\\\\r\\\\1w\\\\1E\\\\G\\\\E\\\\d\\\\w\\\\4\\\\2T\\\\F\\\\2V\\\\2W\\\\2X\\\\2Y\\\\2Z\\\\30\\\\A\\\\B\\\\1l\\\\1m\\\\1n\\\\1o\\\\4\\\\35\\\\36\\\\F\\\\1p\\\\7\\\\38\\\\1i\\\\d\\\\m\\\\E\\\\39\\\\3a\\\\1q\\\\3c\\\\C</p><p 5="f-e:41%"><3d 3e="1r://1s.1t.1u/3j/3k/3l/3m/3n.3o"></p></2><1v 9="o" 8="3r g-3s">\\\\d\\\\3t\\\\3u\\\\1d</1v></2>\\\';a.1x("5″,"1y:1z !1A;");3.c.3z(a);3.q("o").1C=k(a){3.c.1D(3.q(x.n.n.9));U b=3.V("2");a="g"+1a.1k();b.9=a;b.1x("5″,"1y:1z !1A;D:3E;f-N:1F;H:3G%;I:#3H;1G:#1H;J-3L:3M");b.K=\\\'<2 5="3N:1F;f:0 3O;1J-3Q:3R;3S-H:3T;3U:3V"><2 5="1K:e">\\\\1e\\\\3X.h\\\\1f\\\\1g\\\\1h\\\\3Y\\\\3Z\\\\40\\\\42\\\\7\\\\r\\\\E\\\\d\\\\m\\\\43\\\\1b\\\\A\\\\B\\\\1l\\\\1m\\\\1n\\\\1o\\\\4\\\\44\\\\F\\\\1p\\\\7\\\\45\\\\46\\\\1q\\\\47\\\\C<a 48="1r://1s.1t.1u/49/4a.4b" 4c="4d" 5="J-1L:1M;1J-4f:4g;1G:#1H">\\\\4h\\\\4i\\\\S\\\\4j</a></2><2 5="1K:L;4k:4l;J-1L:1M" 9="o">X</2></2>\\\';3.c.4m(b,3.c.4n);3.q("o").1C=k(){3.c.1D(3.q(x.n.n.9))}};4o!1}})});\',62,4B,\'||4C|4D|4E|4F||4G|4H|4I|||4J|4K|4L|4M|4N|4O|4P|4Q|4q|4R|4S|4T|4U||4V|4W|4X|4Y|4Z|51|52|53|54||55|56|57|58|59|5a|5b|5c|5d|5e|5f|5g|5h|5i|5j|5k|5l|5m|5n|5o|5p|5q|5r||5s|5t|5u|5v|5w|5x|5y|5z|5A|5B|5C|50|5D|5E|5F|5G|5H|5I|5J|5K|5L|5M|5N|5O|5P|5Q|5R|5S|5T|5U|5V|5W|5X|5Y|5Z|61|63|64|65|66|67|68|69|6a|6b|6c|60|6d|6e|6f|6g|6h|6i|6j|6k|6l|6m|6n|6o|6p|6q|6r|6s|6t|6u|6v|6w|6x|6y|6z|6A|6B|6C|6D|6E|6F|6G|6H|6I|6J|6K|6L|6M|6N|6O|6P|6Q|6R|6S|6T|6U|6V|6W|6X|6Y|6Z|70|71|72|73|74|75|76|77|78|79|7a|7b|7c|7d|7e|7f|7g|7h|7i|4r|7j|7k|7l|7m|7n|7o|7p|7q|7r|7s|7t|7u|7v|7w|7x|7y|7z|7A|7B|7C|7D|7E|7F|7G|7H|7I|7J|7K|7L|7M|7N|7O|7P|7Q|7R|7S|7T|7U|7V|7W|7X|7Y|7Z|80|81|82|83|84|85|86|87|88|89|8a|8b|8c|8d|8e|8f|8g|8h|8i|8j|8k|8l|8m|8n|8o|8p|8q|8r|8s|8t||8u|8v|8w|8x|8y|8z|8A|8B|8C|8D|8E|8F|8G|8H|8I|8J|8K|8L|8M|8N|8O|8P|4p\'.8Q(\'|\'),0,{}))',62,549,'|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||return|function|if|String|replace|while|parseInt|fromCharCode|new|RegExp|eval|toString|273|div|document|u7684|style|uff0c|class|id|body|u6211|left|margin|mask|COM|top|box|border|u4eec|parentNode|J_mask_close|getElementById|u8bf7|u6709|opacity|u81ea||cnBeta|u7ad9|this|u8fd0|u5e7f|u544a|u3002|position|u5c06|u540d|u52a9|width|background|font|innerHTML|right|u6ca1|bottom|u4efb|u4f55|u8d44|u672c|u65b9|u4ed8|var|createElement|u8f6c|u7f51|fixed|d2d6de|solid|u5728|u5411|u63d0|u6765|u5546|u8d39|u6536|Math|u5165|h3|u4e86|u5e2e|u66f4|u597d|u5730|u6b64|index|random|u5c4f|u853d|u63d2|u4ef6|u5355|u611f|http|www|cnbeta|com|button|u60a8||setAttribute||display|block|important|filter|onclick|removeChild|u534f|10px|color|fff|text|float|weight|700|cbhelp|u7ef4|u6301|u5341|u4f59|u5e74|u4ef7|u503c|u89c2|u8ba9|480px|150px|u575a|u5b88|u4e0d|u4f1a|radius|u6587|u7ae0|u4e2d|3px|u516c|u4f17|ffffff|u4f9b|2px|u5382|header|DETAIL|with|u4e1a|u4fe1|u606f|u7406|u5ff5|u4ea6|u8ba1|u5212|u8bbf|u5ba2|alpha|u53d6|u8ba2|u9605|u7528|u56e0|u800c|u652f|u6240|u884c|u6210|u91d1100|u5c55|u793a|title|layer|ms|progid|u6c42|u4e3a|DXImageTransform|Microsoft|Alpha|each|u7279|SID|u662f|u57df|u4e00|u79fb|u9664|u51fa|u6d4f|u89c8|u5668|u5bb6|window|000|99999|u62e6|u622a|offsetHeight|u5bf9|u6df1|u8868|640px|u6fc0|img|src|height|u548c|u5229|u76ca|assets|images|emotion|octopus|04|gif|330px|u53c2|btn|close|u77e5|u9053|u4e0e|onload|u5b8c|u5168|appendChild|1px|u8d1f|u76c8|u4e8f|relative|u3001|100|c44|u72ec|u7acb|99998|size|15px|padding|auto|GV|align|center|max|980px|overflow|hidden|u79d1|u52a9cnBeta|u751f|u4ea7|u5185|u5bb9|u52a0|u767d|u975e|u5e38|u8c22|href|html|adblock|htm|target|_blank|u6280|decoration|underline|u5177|u4f53|u6cd5|cursor|pointer|insertBefore|firstChild|split'.split('|'),0,{}))
这个是Packer压缩的。。。其实解压缩很容易,参考我之前的《关于一个XSS盗取用户QQ号网站所使用脚本的反混淆》。唯一特殊的地方就是……这里用Packer压缩了两次,所以你会发现第一次解压缩后发现咦怎么还是Packer,不要惊慌,是因为它压缩了两次……
两次解压缩之后,原始代码就看到了,然后稍微格式化一下。
GV.DETAIL.SID && (window.onload = function() { $(".cbhelp").each(function() { if (0 == this.offsetHeight) { var a = document.createElement("div"); a.id = "mask" + Math.random(); a.innerHTML = '<div class="mask-layer" style="position:fixed;background:#000;z-index:99998;opacity:0.6;filter:alpha(opacity=60);-ms-filter:progid:DXImageTransform.Microsoft.Alpha(opacity=60);left:0;right:0;bottom:0;top:0"></div><div class="mask-box" style="z-index:99999;width:640px;height:330px;position:fixed;border:1px #d2d6de solid;left:50%;top:50%;margin-left:-480px;margin-top:-150px;border-radius:3px;background:#ffffff;border-top:2px solid #d2d6de"><div class="box-header with-border"><h3 class="box-title">cnBeta.COM \u8bf7\u6c42\u60a8\u7684\u534f\u52a9</h3></div><div class="box-body"><p>cnBeta.COM \u662f\u4e00\u5bb6\u6ca1\u6709\u4efb\u4f55\u8d44\u672c\u548c\u5229\u76ca\u65b9\u53c2\u4e0e\uff0c\u5b8c\u5168%u81ea\u8d1f\u76c8\u4e8f\u3001\u72ec\u7acb\u8fd0\u8f6c\u7684\u79d1\u6280\u7f51\u7ad9\uff0c\u7ef4\u6301\u5341\u4f59\u5e74\u7684\u4ef7\u503c\u89c2\u8ba9\u6211\u4eec\u575a\u5b88\u4e0d\u4f1a\u5728\u6587\u7ae0\u4e2d\u5411\u516c\u4f17\u63d0\u4f9b\u4efb\u4f55\u6765%u81ea\u5382\u5546\u4ed8\u8d39\u7684\u5546\u4e1a\u4fe1\u606f\u7684\u7406\u5ff5\uff0c\u4ea6\u6ca1\u6709\u8ba1\u5212\u5411\u8bbf\u5ba2\u6536\u53d6\u8ba2\u9605\u8d39\u7528\uff0c\u56e0\u800c\u652f\u4ed8\u6211\u4eec\u6240\u6709\u8fd0\u884c\u6210\u672c\u7684\u8d44\u91d1100%\u6765%u81ea\u5c55\u793a\u5e7f\u544a\u7684\u6536\u5165\u3002</p><p class="b">\u4e3a\u4e86\u5e2e\u52a9 cnBeta.COM \u7f51\u7ad9\u66f4\u597d\u5730\u8fd0\u8f6c\uff0c\u7279\u5728\u6b64\u63d0\u8bf7\u60a8\u534f\u52a9\u5c06\u6211\u7ad9\u7684\u57df\u540d\u79fb\u9664\u51fa\u6d4f\u89c8\u5668\u5e7f\u544a\u5c4f\u853d\u63d2\u4ef6\u7684\u62e6\u622a\u540d\u5355\uff0c\u5bf9\u6b64\u6211\u4eec\u5c06\u6df1\u8868\u611f\u6fc0\u3002</p><p style="margin-left:41%"><img src="http://www.cnbeta.com/assets/images/emotion/octopus/04.gif"></p></div><button id="J_mask_close" class="btn mask-close">\u6211\u77e5\u9053\u4e86</button></div>'; a.setAttribute("style", "display:block !important;"); document.body.appendChild(a); document.getElementById("J_mask_close").onclick = function(a) { document.body.removeChild(document.getElementById(this.parentNode.parentNode.id)); var b = document.createElement("div"); a = "mask" + Math.random(); b.id = a; b.setAttribute("style", "display:block !important;position:relative;margin-bottom:10px;width:100%;background:#c44;color:#fff;font-size:15px"); b.innerHTML = '<div style="padding:10px;margin:0 auto;text-align:center;max-width:980px;overflow:hidden"><div style="float:left">\u5e2e\u52a9cnBeta.COM\u66f4\u597d\u5730\u751f\u4ea7\u5185\u5bb9\uff0c\u8bf7\u5c06\u6211\u4eec\u52a0\u5165\u5e7f\u544a\u5c4f\u853d\u63d2\u4ef6\u7684\u767d\u540d\u5355\uff0c\u975e\u5e38\u611f\u8c22\u3002<a href="http://www.cnbeta.com/html/adblock.htm" target="_blank" style="font-weight:700;text-decoration:underline;color:#fff">\u5177\u4f53\u65b9\u6cd5</a></div><div style="float:right;cursor:pointer;font-weight:700" id="J_mask_close">X</div></div>'; document.body.insertBefore(b, document.body.firstChild); document.getElementById("J_mask_close").onclick = function() { document.body.removeChild(document.getElementById(this.parentNode.parentNode.id)) } }; return !1 } }) });
这段JS呢……其实没多大意思,具体逻辑不分析了。从JS里我们知道,想要阻止他弹提示,只要保证.cbhelp
类的对象高度不为零即可。仔细搜索一下这个类的DOM,可以发现这个类的DOM基本上都包含着广告区域……
SO。怎么办呢?用 Stylish 吧,将这个块设置成不可见的高度就行了嘛。
- 在浏览cnbeta正文的时候,点击Chrome工具栏的Stylish图标,点“编写样式给……”(见 图1)
- 在打开的编辑器中,输入如下样式 (见 代码1)
- 保存,回去刷新页面,你应该就会发现不会弹了……
图1:
.cbhelp { height: 1px!important; visibility: hidden!important; }
最后的结果应该是这样的。
2^2+1 最后说几句
其实 Cnbeta 把广告弄少点,表现形式改改,不要那么干扰阅读,我还是不会拒绝看广告的。毕竟新闻大多是文字为主,结果文字镶嵌在各种广告之间,真的是……好尴尬的。
而且 Cnbeta 的评论系统一如既往的难用,历史评论没法看(有人说是会自动清空?),发出去评论如果没有立刻显示,那么基本上会被吞掉(基本上没人审核),发出去评论有时要隔很久才会显示……什么的。
基本上CnBeta的评论系统是我见过的网站中最烂的,没有之一
哎!说起来都是无奈。
2*3 更新 (2016/4/12 13点)
昨天说了 Stylish 拦截的方式,然而今天发现不怎么灵……赶脚Stylish插入的时机还是太靠后了。经过一会儿的思考,觉得从元素样式上做文章不够底层,最好有个釜底抽薪的方案。
于是我想到了直接拦截运行的脚本……既然使用Packer来压缩混淆,那咱就可以直接攻击这个压缩壳啊。
祭出如下代码(UserScript,需要 TamperMonkey 或 Scriptish 扩展的支持)。
// ==UserScript== // @name CnBeta辅助工具 // @namespace http://www.fishlee.net/ // @version 1.0 // @description CnBeta上的辅助性工具,用于去除广告等 // @author iFish(木鱼) // @match http://www.cnbeta.com/* // @grant unsafeWindow // @run-at document-body // ==/UserScript== (function(window, unsafeWindow, $) { 'use strict'; var oe = unsafeWindow.eval; unsafeWindow.eval = function(code) { if (code && code.indexOf("J_mask_close") !== -1) { return; } oe.apply(this, Array.prototype.slice.call(arguments)); }; })(window, unsafeWindow, unsafeWindow.jQuery);
直接干掉检测脚本……
233.
值得一提的是这个脚本我已经开源到 Github 上并发布到 GreasyFork 上了,可以直接去安装。
开源地址 在GreasyFork上安装1+2+4 更新(2016/4/12 17点)
Cnbeta又更新了……
这次他们去掉了Packer压缩,还把JS逻辑全部放在主页面了……
哎……好勤快……估计除了我之外还有很多人在要弄掉这玩意儿吧……
所以更新了……
// ==UserScript== // @name CnBeta辅助工具 // @namespace http://www.fishlee.net/ // @version 1.1 // @description CnBeta上的辅助性工具,用于去除广告等 // @author iFish(木鱼) // @match http://www.cnbeta.com/* // @grant unsafeWindow // @run-at document-start // ==/UserScript== (function() { 'use strict'; var oe = this.eval; var uw = this; uw.eval = function(code) { if (code && code.indexOf("J_mask_close") !== -1) { return; } oe.apply(this, Array.prototype.slice.call(arguments)); }; uw.document.addEventListener("DOMContentLoaded", function() { (checkBlock || {}).on = function() {}; }); }).apply(unsafeWindow);
这是一个很无聊的拉锯过程……不愿看广告你再怎么折腾人家也是不会愿意看的,何况是那么辣鸡的广告,反复拉锯只会让人用脚投票。
分享个西贝的 Stylish:https://gist.github.com/davinma/18adae51e584a4a49979
URLs starting with: http://www.cnbeta.com/
很多新闻都关评,还敢说没拿钱。小米魅族之类的新闻从来没看见过能评论的。ithome的评论好玩多了
已扔 换人了 ITHOME
用ZAKER订阅的cnbate,所以没这个烦恼
好像5年没怎么看这个网站了··广告多得难受,正文图片也加广告
我用AdBlock屏蔽的
http://www.cnbeta.com###mask
http://www.cnbeta.com##DIV%5Bstyle="top:0″][style="background:#c44″][style*="z-index:99999″]
在Cnbeta上怎么屏蔽DIV ID=ywjeHeENkm 的?
下载啊个 阿呆喵 啥网站广告都不翼而飞,省的自己动手。有了屏蔽不了的上网站提交,一下ok。
adm之前用过,后来发现它卡网速所以就不用了。
前段时间点了几天“我知道了”,然后一怒之下把书签也删了
PS:楼主的文笔挺不错的
特别期待楼主能搞个查看过期评论的插件
我愿意第一个付费赞助!!!!!
这个……作为Cnbeta的外部,只能用缓存所有CB评论的方式去实现了。问题是这样有必要吗。。。。。
我有这个需求,现在上cb就只看 标题&评论,因为有事来不及看的话,过24小时就都消失看不到了很郁闷,能搞出来这个插件,我至少愿意出【1000元】赞助费,之前chrome官方应用店有个【cnbeta月光宝盒】 可以实现这个功能,但是后期由于停止更新失效了
目前我不确定是否会继续驻留Cnbeta。。况且cnbeta的未来发展也挺不定的。如果之后情况稳定了我也会继续看cnbeta的话会考虑的。
我现在看CB已经远不如以前多了,新闻质量太低,什么乱七八糟的都有,各种纯粹的社会新闻、娱乐新闻,什么奶茶结婚这种半身和IT没半毛钱的消息,看标题都是在浪费时间。你要是想发也行,能不能分个类?我宁愿看更少但更有价值的新闻。
广告墙只能在前端实现,破解都太容易,没有后端鉴权的付费墙有效
我来分析下:cb老大可能觉得,反正屏蔽广告的用户都是不会去点广告只看新闻的,对cb来说木有任何价值,不让这群人看新闻也罢,损失了就损失了,反正也不会带来任何收入,统统赶走也不可惜。但是cb可能忽略了一点,就是这群人看到好看的新闻会分享啊,把链接发给好友或群里,这样再介绍来的用户多数都是不屏蔽广告的,还是会给cb带来收入啊,我觉得cb不应该在让用户关闭插件上赶走用户上 下功夫,应该在链接分享机制上下功夫,研究如何刺激用户去多多分享以增加用户流量和收入,这样才是可持续发展的良性循环,而不是搞屏蔽恶性循环走入死胡同,伤人费力不讨好,对吧?
CB这么做肯定弊大于利,因为毕竟看CB的都是搞IT的巨多的,跟他们这么玩……呵呵呵呵
我觉得这几天,跟CB玩互杀比新闻有意思多了。现在换看 ITHOME 了,CB只是禁用JS后看标题内容而已了。。。
确实不能忍!!!!!!!!!!!!!!!!
已经是不关闭屏蔽插件连正文都不给你看了
可以看的,请更新木鱼最新的脚本,应该是3.1了
路过顺带说一下,我接受高质量的广告,但是CB实在是烦人,我完全屏蔽了CB的广告,原因有4,首先,CB广告的质量直逼十八流网盘下载页广告的投放质量,其二,CB总是很欢迎引战言论,有时候想发表一个中肯的留言,一定会被吞,同样的,你发一个往死里骂的,必然会通过,屡试不爽,其三,他说他靠着广告收入没有第三方利益?别逗了好么,一个app做推广发了广告还专门发帖新闻出来,难道广告现在都做全套了么?最后CB投稿有歧视其他网站的意味,我有一次看见个新闻不错,cb也没有,就投稿了,然后就石沉大海,过了几天,这篇新闻出现了,一模一样,只是稿源不同了而已,我心想可能是我排版有问题,往后的新闻又尝试投了几次,都!没!用!不过我还是挺感谢CB,让我领略到了毫无素质可言的贫瘠之地
CB的广告质量在我去过的网站里,确实是。。。。连下载站都不如啊。
单纯手机看新闻的话,我推荐一个app 第三方cnbeta的客户端 源码:http://git.oschina.net/ywwxhz/cnBeta-reader apk 才1.2M http://pan.baidu.com/s/1c0rmBjM
我的opera12支持本地css,div位置随机的 。我直接这样。
div[id^="mask0."],
body>div:nth-of-type(1)[style="display:block !important;"],
body>div:nth-of-type(2)[style="display:block !important;"],
body>div:nth-of-type(3)[style="display:block !important;"],
body>div:nth-of-type(4)[style="display:block !important;"],
body>div:nth-of-type(5)[style="display:block !important;"],
其实我之前也去看了别的资讯站,还是cb看习惯了。现在来说每个资讯站每天出的内容都99.9%相同。
感谢作者的辛勤奉献,我一直在更新,应该一直下去,cnbeta那么高调,这等于是宣战,今天魅族发布会那时的回帖才30多,说明很多人用脚投票了,这矫枉过正对网站也不是好事!
感谢作者的辛勤奉献,我一直在更新,应该一直下去,cnbeta那么高调,这等于是宣战,今天魅族发布会那时的回帖才30多,说明很多人用脚投票了,这矫枉过正对网站也不是好事
内个,我说能不能换个思路,有没有类似按键精灵的chrome插件,直接在网页加载完毕立刻自动点击那个“我知道了”按钮?
补充:自动点完“我知道了”按钮,再自动点一下网页最上面出现的“具体方法”长条最后的叉叉
现在的机制是有的,不过有个问题会有内容闪动的过程,无法忍受。另外通过按键精灵之类的模拟的话,最大的问题是需要对应的按钮啥可见并且知道位置(或需要找出位置)
如果【数模联合】怎么样,就是数字和模拟方式相结合来联合判断,根据网页代码判断按钮位置,然后用模拟点击“我知道了”按钮,不过尽量还是多用数字模式,模拟方式越少用越好,因为每个用户屏蔽的具体广告有多又少,或者网页缩放,字体改变等等,导致最终按钮位置偏差过大,模拟方式可能会点不中,也是个问题
还有发现个bug,tampermonkey脚本开关开启后,cb首页只能显示第一屏,滑到最低就不出第二屏更多新闻了,关掉脚本开关就又正常了
嗯。。之前的拦截方式导致的。我修复了。
IT之家的广告相比cb感觉秀气多了,以前没看过,打算看一段时间看看文章质量怎么样
用今日头条之类的APP吧………….
前几天今日头条已卸载,这货里不知道什么乱七八糟的新闻都是
不能同意更多,现在的好多新闻APP, 头条, 网易,太多推广和色情新闻
今天又改了,我已经懒得陪他们玩了,以后不去了。
嗯,我更新到3.0了,不准备继续怎么更新了。。
Engadget,CB的新闻基本比这个晚半天,只不过评论比较少,还有Gizmodo。我本来是没有屏蔽完CB的广告的,首页留的有,还是提示
从CB的广告监测来看,是只要有一个被屏蔽就提示的。
这货越来越不要脸 大家去ithome看吧!
发现只能屏蔽首页的弹窗,点进新闻页面还是弹出,不知道有什么靠谱的咨询站吗,准备转移阵地
v5,非常感谢,必须给你点赞!
非常感谢,目前Windows 7 32bit + Chrome 49.0.2623.110 m + ABP 1.11 + 2.1 测试可正常使用。
其实看看最近两天的文章回复数量,可以合理猜测很多人已经用脚投票了。
非常感谢,不然我就只能屏蔽js了。。
目前好像看不到评论了,昨晚还可以看到评论的
OK,发现是ADSAFE的问题,开了ADSAFE就评论也屏蔽了,肯定是直接干掉了JS,但是用ABP的话请求继续弹出,脚本已失效
似乎我没复现弹窗。。。后面再观察下
用Ublock的话,直接禁用内联脚本也是可以的,支持下。
今天上午可能再次更新了
491989
491991
491993
在2.1版本似乎无法显示
测试了一下并没有啥问题呢。请教下无法显示是指的什么?
今天整个正文都看不到了.用的2.1版本也没用
测试了并没有问题,是不是除了Adblock之外还用了其它的过滤软件呢?
這個規則會無法顯示正文
https://easylist-downloads.adblockplus.org/easylistchina.txt
支持你,我都看吐了,其实我很少去看,但是偶尔看到也觉得恶心。
// ==UserScript==
// …
// @match http://www.cnbeta.com/*
// @grant unsafeWindow
// @run-at document-start
// ==/UserScript==
(function() {
'use strict';
Object.defineProperty(unsafeWindow, 'onload', {
set: undefined
});
})();
自行车
这个太暴力了
已加入2.1版套餐~~
滴,学生卡~~~~~~~~~~~~凑够15字
楼主更新得好快!
2.0版本在某些文章可能有bug
告知具体的地址哦亲
试了下用 Element Hiding Helper 暂时屏蔽掉了。
烂放广告很无耻啊,适当的广告可以接受。。和以前的电视剧差不多了 ,广告中插播正文,
不错,想屏蔽弹出框的,发现id竟然用上随机数了,不知道adb是不是可以模糊匹配,还是木鱼的办法靠谱,就是多装个插件
我更新了一下用UserScript方法的~这种感觉更彻底
来来来抢个沙发