新公司运用禅道作bug治理体系。每次产物上线的时刻,一切的测试职员测试出bug之就就提在禅道上。
由于我们公司现在的测试只要一个,就把许多产物拉来充数。他们分不清bug和需求。所以每每涌现的状况是一大屏的bug。但实际上能改的没几个。而且有许多bug是后端的。
要从那么多bug中找出来本身能改的,每次都要从那么多bug中来看,每每看得眼都花了,也没找出来几个有用bug,偏偏又不能处置惩罚掉,由于其他人能够要看。
因而决议花点时候写个脚原本帮我处置惩罚一下那些滋扰信息。把那些我不需要看到的条目隐蔽起来。
要在bug列表table每一行加一个隐蔽按钮。点击的话会隐蔽掉该行。而且把该行的checkbox的value值记录到localStorage中。
在console控制台运转剧本,会做这几件事:
1.给table一切的a标签加属性target=”_blank”,如许就会到新页面翻开bug概况。防止本页跳转致使剧本失效。
2.把一切tr行中的checkbox的值放到该tr上。data-id属性中。轻易后续操纵。
3.每行加一个隐蔽按钮。并给它绑定事宜。点击按钮隐蔽此行。把末了一个td加长。
4.把localStorage保留的一切值的行隐蔽起来。
为了防止翻页引发页面跳转。先要把每一页的数目调大一些。如许操纵就在同一个页面上,不需要屡次运转剧本了。
本来的bug能够有这么多:
运转剧本以后的结果(许多条滋扰信息已被我隐蔽掉了):
能够看到每一行的右侧都加了一个隐蔽按钮。我们看过bug以后以为是本身不必剖析的。就可以够点击隐蔽。
而且下次翻开页面再次运转剧本,你之前隐蔽过的就会自动隐蔽起来。
如许就可以很大程度上削减滋扰信息了。
别的,这个代码通用性也是比较强的。换一个体系,要完成相似的功用只需要稍作修改就可以够。
下面是代码:
function CD(){}
CD.prototype = {
init:function(){
this.open();
this.hideItems();
this.bindEvent();
},
open:function(){
//一切a标签新标签翻开
$("td a").attr('target','_blank');
//给每一行加一个我们的按钮。
$(".s-hide").remove();
$("tr.text-center td:last-child").append('隐蔽');
$("tr th:last").width(170);
//给tr加上id。轻易操纵
$("tr").each(function(index, el) {
$(this).attr('data-id',$(this).find("input:checkbox").val());
});
},
bindEvent:function(){
//点击隐蔽。
$("body").on('click', '.s-hide', function(event) {
var id = $(this).parents('tr').find("input:checkbox").val();
var hideStr = localStorage.hideStr || '';
var hideArr = hideStr.split("-");
hideArr.push(id);
localStorage.hideStr = hideArr.join("-");
$(this).parents("tr").hide();
});
},
//初始化的时刻隐蔽我们隐蔽过的。
hideItems:function(){
var hideStr = localStorage.hideStr || '';
var hideArr = hideStr.split("-");
var len = hideArr.length;
for (var i = 0; i < len; i++) {
$("tr[data-id="+hideArr[i]+"]").hide();
}
},
//显现隐蔽的。
show:function(){
localStorage.hideStr = '';
$("tr").show();
}
}
//挪用
var cd = new CD;
cd.init();
// 显现悉数请手动挪用 cd.show();
嗯,JavaScript能做的现实在太多。
面临他人的网站,我们也能够大有可为。
许多浏览器插件,实在也是在他人的网站上运转本身的剧本完成 一些操纵。比方阻拦广告。抢月饼。。。
作为一个前端程序员来说,顺手写几行剧本进步一点工作效率也是不错的。