做 IM 屏幕截图是少不了的,之前 windows 版本是调用的 qq 输入法的截图功能,这个版本又再次尝试自己实现发现是可以的,getusermedia 的权限很高,代码如下
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title></title> </head> <body > <video id='vd' onload="snap()"></video> <input type=button value=snap onclick="snap()" /> <script> function snap(){ var constraints = { video: { mandatory: { maxWidth: window.screen.width, maxHeight: window.screen.height, maxFrameRate: 30, chromeMediaSource: 'screen' } } } // constraints = {video: true, audio: true}; console.log(constraints); navigator.webkitGetUserMedia(constraints, function(localSource){ console.log(localSource); vd.src = webkitURL.createObjectURL(localSource); vd.play(); },function(err){ console.log('error',err); }) } </script> </body> </html>
可以把屏幕全部捕获,别说截图 录屏都可以
PS 高版本的 nw ,package.json 需要 "chromium-args": "--enable-usermedia-screen-capturing"