如何优化B站视频(bilibili )视频标题

如何优化B站视频(bilibili )视频标题

ptile()
//--------------标题简洁 函数--------------------start
//标题简洁风
function ptile(){
	if(document.getElementsByClassName('base-video-sections-v1') == null){
		return;
	}
    console.info('---ptile---');

	let arr = document.querySelectorAll('.video-episode-card .video-episode-card__info-title');
	let prefix = findPrefix();
	for(var i = 0;i<arr.length;i++){
		var str = arr[i].innerText;
		str = str.replace(prefix,'');
		arr[i].innerText = str;
	}
}

//寻找标题公共前缀
function findPrefix(){
	var prefix = '';
	// NodeList 不是一个数组,是一个类似数组的对象.可以使用 Array.from() 将其转换为数组
	var liArr = document.querySelectorAll('.video-episode-card .video-episode-card__info-title');
	liArr = Array.from(liArr);
	var arr = liArr.map( (item, index) => {
		return item.title
	})

	//console.log("a标签的title集合", arr)
	if(arr.length>=3){

		//随机采样
		var index1 = getRndInteger(0,arr.length);
		var index2 = getRndInteger(0,arr.length);
		var index3 = getRndInteger(0,arr.length);
		var s1s2 = [arr[index1],arr[index2]];
		var s2s3 = [arr[index2],arr[index3]];
		console.info(s1s2);
		console.info(s2s3);
		var s1s2_Pre = longestCommonPrefix(s1s2);
		var s2s3_Pre = longestCommonPrefix(s2s3);
		if(s1s2_Pre == s2s3_Pre){
			prefix = s1s2_Pre;
		}
	}
	return prefix;
}


//JavaScript 最长公共前缀
function longestCommonPrefix(strs) {
    if(strs.length == 0)
        return "";
    let ans = strs[0];
    for(let i =1;i<strs.length;i++) {
        let j=0;
        for(;j<ans.length && j < strs[i].length;j++) {
            if(ans[j] != strs[i][j])
                break;
        }
        ans = ans.substr(0, j);
        if(ans === "")
            return ans;
    }
    return ans;
};

//返回 min(包含)~ max(不包含)之间的数字
function getRndInteger(min, max) {
  return Math.floor(Math.random() * (max - min) ) + min;
}
//--------------标题简洁 函数--------------------end
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值