https://www.oyjz.cn/svn-slimming.html
目前主流的版本管理软件为git或svn,虽说现在使用git作为版本管理软件越来越多,但svn依旧仍有大量公司使用,svn使用中会发现,随着版本记录越来越多,svn库也越来越大,这时候进行svn检出、查询或者提交都会变慢,这个时候,我们可以删除部分无效的历史版本记录,进行瘦身,减少磁盘占用及提高响应。
<div id="dplayer"></div>
<script src="DPlayer.min.js"></script>
const dp = new DPlayer({
container: document.getElementById('dplayer'),
video: {
url: 'demo.mp4',
},
});
一个最简单的 DPlayer 就初始化好了,它只有最基本的视频播放功能PHP 端的解码与编码
$a = urlencode(iconv("UTF-8", "UTF-8", "鲜花"));
echo $a.'<hr>';
$b = iconv("UTF-8", "UTF-8",urldecode("%E9%B2%9C%E8%8A%B1"));
echo $b;
JS 前端的编码和解码
var a = encodeURI("鲜花");
console.info(a);
var b = decodeURI(a);
console.info(b)
// 页面的 visibilityState属性可能返回三种状态 prerender,visible 和 hidden
// 监听 visibility change 事件
document.addEventListener('visibilitychange', function() {
// 页面变为不可见时触发
if (document.visibilityState == 'hidden') {
console.info('visibilityState 我离开了')
}
// 页面变为可见时触发
if (document.visibilityState == 'visible') {
console.info('visibilityState 我进来了')
}
});
// 页面的 hidden属性,false,true;
document.addEventListener('visibilitychange',function(){
var isHidden = document.hidden;
if(isHidden){
console.info('isHidden 我离开了')
} else {
console.info('isHidden 我进来了')
}
});
// 是否是手机端
var iswap = function(){
if (/(Mobile|Android|WAP|NetFront|JAVA|OperasMini|UCWEB|WindowssCE|Symbian|Series|webOS|SonyEricsson|Sony|BlackBerry|Cellphone|dopod|Nokia|samsung|PalmSource|Xphone|Xda|Smartphone|PIEPlus|MEIZU|MIDP|CLDC)/i.test(navigator.userAgent)) {
return "android";
}else if(/(iPhone)/i.test(navigator.userAgent)) {
return "iphone";
}else{
if(/(mozilla|chrome|safari|opera|m3gate|winwap|openwave)/i.test(navigator.userAgent)) {
return false;
}else{
if(getUrlPre('mobile')) {
return true;
}else{
return false;
}
}
}
}
node-crawler 是一个轻量级的node.js爬虫工具,兼顾了高效与便利性,支持分布式爬虫系统,支持硬编码,支持http前级代理。
node-crawler 完全由nodejs写成,天生支持非阻塞异步IO,为爬虫的流水线作业机制提供了极大便利。同时支持对 DOM 的快速选择,对于抓取网页的特定部分的任务可以说是杀手级功能,无需再手写正则表达式,提高爬虫开发效率。