css3添加了两个与混合模式相关的属性,这种方法的基本原理是将图片和背景颜色混合,从而变成新的颜色。
如果图片是含有透明背景的PNG图片时,可使用filter,一行CSS就可改造图片颜色的色相、饱和度、对比度等,原理类似PS中的滤镜。
node.js中可以通过 __dirname 获取当前文件的目录。那么如何在被调用函数中获取调用者的文件地址和函数名以及行数位置?可使用Error.prepareStackTrace来获取StackTrace数组对象,获取调用者文件信息。
var getCallerPath = function() {
var orig = Error.prepareStackTrace;
Error.prepareStackTrace = function(_, stack) { return stack; };
var err = new Error;
var stack = err.stack;
Error.prepareStackTrace = orig;
// stack[0]为当前函数, stack[1]为调用者,stack[2]为上层调用者
return stack[2].getFileName()
}
JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字,直接用isNaN即可:
function isNumber(val) {
return !isNaN(val);
}
webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。
目前有很多开源项目使用webpack进行打包。
最近 node.js 一个比较出名的 http request 模块停止维护了。其实这个模块已经变得非常臃肿,模块依赖过多,体积过大,接口不统一。
其实现在node.js的http模块已经非常完善,几行代码就能自己写一个。模拟post指定 data 即可:
request({ url: 'http://ourjs.com/home', data: { abc: 1 } }, function(err, response, data) {
console.log(data)
})
Aria2 BT下载可通过网页端访问,网页站通过RPC与Aria程序通讯。
Aria2通过websocket来调用aria2的rpc服务,实现状态查询、创建下载任务,这样可以解决ajax的跨域问题。不过这样NAS服务器要新开一个端口,而且旧浏览器并不支持。此时可使用代理服务器。
另外此方法还支持输出到流,比如说浏览器输出流,或命令行终端:
zip('./zip-util.js', process.stdout, function() {
console.log(arguments)
})
page-break-after可以实现强制分页,比如始终在<footer>元素后插入分页符, @media print 表示这段CSS只在打印时起作用。
@media print {
footer {page-break-after: always;}
}
在SVG绘制的任何一个时刻,你可以通过嵌套svg、foreignObject或者iframe来建立新的viewport和用户坐标系。在这篇文章中,我们将看一下我们如何这样做,以及这样做如何帮助我们控制SVG元素并让它们变得更加灵活
OnceOA 是一款能够跨平台运行的网盘管理系统,个人用户永久免费。OnceOA 纯Web交互,无需安装任何客户端、APP就可使用。可创建SMB共享目录、SVN/Git数据仓库,在电视手机平板上播放或备份视频或照片,可实现NAS网盘管理,文档管理/同步、知识管理、配置各类企业管理软件等。
OnceOA 基于模块化开发,可安装免费的内网穿透模块 OnceAir,就可实现外网访问,即从公网访问家里的私有云网盘。