Html5网页中用JavaScript调用本地手机摄像头扫描识别微信二维码、条形码:postMessage跨域https传递扫码结果消息 qr-scanner是一个支持HTML5网页扫描条形码、二维码的开源库。
轻量级:〜48.7 kB(〜12.4 kB压缩后)。
性能优内存占用少。
在WebWorker中运行,不阻塞主进程
在彩色QR码上获得性能优
根据我们的基准测试,该项目较jsqrcode提升约2-3倍。
错误识别率低。
支持扫描网络摄像头的以及扫描图片文件。
JavaScript设置对象属性只读不可修改、不可枚举、不可删除:Object.defineProperty 使用defineProperty可以定义属性是否可以被枚举、修改和删除, configurable 对象的属性是否可以被删除
var o = { a:1 }
Object.defineProperty(o, 'a', { configurable: false })
delete o.a
console.log(o) // {a: 1}
CSS教程:图片使用混合模式和颜色叠加filter滤镜,改变PNG图标颜色 css3添加了两个与混合模式相关的属性,这种方法的基本原理是将图片和背景颜色混合,从而变成新的颜色。
如果图片是含有透明背景的PNG图片时,可使用filter,一行CSS就可改造图片颜色的色相、饱和度、对比度等,原理类似PS中的滤镜。
CSS教程:如何设置自动显示隐藏scrollbar滚动条,自定义外观样式/宽度,附demo示例大全 Webkit 浏览器,像Chrome,Safari,Opera 支持非标准方法 ::-webkit-scrollbar 来创建自定义滚动条。
node.js通过Error.prepareStackTrace获取上层调用函数的文件名地址和行数位置 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、isNaN、正则表达式比较 JavaScript中有Number.isInteger可以判断一个字符串是否为整数。不过目前JS没有内置的函数来判断一个数字是否为包含小数的数字,直接用isNaN即可:
function isNumber(val) {
return !isNaN(val);
}
webpack前端项目调试环境安装入门:webpack.config.js禁用UglifyJs只合并JavaScript不压缩混淆代码 webpack是目前比较流行的前端build工具,本质上是一个模块打包器。合并压缩JavaScript,css,图片等。
目前有很多开源项目使用webpack进行打包。
node.js创建aria2代理服务器:使用net.socket转发rpc或http request请求,替换websocket Aria2 BT下载可通过网页端访问,网页站通过RPC与Aria程序通讯。
Aria2通过websocket来调用aria2的rpc服务,实现状态查询、创建下载任务,这样可以解决ajax的跨域问题。不过这样NAS服务器要新开一个端口,而且旧浏览器并不支持。此时可使用代理服务器。
request停止维护:用node.js实现http网页爬虫抓取,模拟ajax\post请求,大文件上传下载 最近 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)
})
用CSS实现分页符,控制Web网页打印时自动强制分页:page-break-after教程
page-break-after可以实现强制分页,比如始终在<footer>元素后插入分页符, @media print 表示这段CSS只在打印时起作用。
@media print {
footer {page-break-after: always;}
}