Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否可以捕获客户端的屏幕截图';从web应用程序中选择桌面?_Javascript_Google Chrome_Firefox_Browser_Web Applications - Fatal编程技术网

Javascript 是否可以捕获客户端的屏幕截图';从web应用程序中选择桌面?

Javascript 是否可以捕获客户端的屏幕截图';从web应用程序中选择桌面?,javascript,google-chrome,firefox,browser,web-applications,Javascript,Google Chrome,Firefox,Browser,Web Applications,我想知道是否有可能从基于JavaScript的web应用程序中捕获客户端桌面的屏幕截图。我想在应用程序中为用户提供一个按钮,他们可以使用该按钮拍摄桌面屏幕的截图(而不是页面或页面中的元素,即实际的操作系统桌面屏幕) 主要浏览器(Chrome和Firefox)是否允许这种操作?我知道可能存在安全问题,但我是否可以请求用户允许进行此类访问?是否有任何LIB、工具或文档可以帮助我做到这一点?还是这根本不可行 我对这个主题做了一些研究,但只找到了在浏览器中截取内容的方法。看起来这个方法可以帮助您: 使用

我想知道是否有可能从基于JavaScript的web应用程序中捕获客户端桌面的屏幕截图。我想在应用程序中为用户提供一个按钮,他们可以使用该按钮拍摄桌面屏幕的截图(而不是页面或页面中的元素,即实际的操作系统桌面屏幕)

主要浏览器(Chrome和Firefox)是否允许这种操作?我知道可能存在安全问题,但我是否可以请求用户允许进行此类访问?是否有任何LIB、工具或文档可以帮助我做到这一点?还是这根本不可行


我对这个主题做了一些研究,但只找到了在浏览器中截取内容的方法。

看起来这个方法可以帮助您:


使用WebRTC和,您可以拍摄桌面截图(Firefox和Chrome都支持)。Javascript库对于使用WebRTC非常有用,但也可以不使用其他库。

您只能使用画布将图像或视频帧捕获为屏幕截图。但如果要捕获网页上的特定元素,请尝试以下库:

代码如下:

注意:在drawImage()函数中仔细调整尺寸

$(“.drag”).draggable();
$(“.drag”).dropable();
var takeScreenShot=函数(){
html2canvas(document.getElementById(“容器”){
onrendered:函数(画布){
var tempcanvas=document.createElement('canvas');
宽度=350;
高度=350;
var context=tempcanvas.getContext('2d');
背景.drawImage(canvas,112,0288200,0,0350350);
var link=document.createElement(“a”);
link.href=tempcanvas.toDataURL('image/jpg');//函数块COR
link.download='screenshot.jpg';
link.click();
}
});
}
#容器{
宽度:400px;
高度:200px;
}
#右容器{
宽度:300px;
高度:200px;
背景:灰色;
颜色:#fff;
左边距:110像素;
填充:10px;
}
#左菜单{
颜色:#fff;
背景颜色:绿色;
宽度:100px;
高度:200px;
位置:固定;
左:0;
填充:10px;
}
钮扣{
显示:块;
高度:20px;
边缘顶部:10px;
边缘底部:10px;
}
.拖{
宽度:40px;
高度:20px;
背景颜色:蓝色;
z指数:100000;
边缘顶部:10px;
}

快照
左侧
拖动---------------->
&
单击快照
右侧

是的,它允许这样做。我不知道这是否是一个好的开始,但你可以检查一个开源应用程序来完成这项工作

这里是chromium远程控制应用程序源代码。您可以找到捕获屏幕的代码片段。如果你能完成这项工作,我想听听你的意见


Chromium remote control app

可能与Thank重复,但我需要的是捕获用户桌面的屏幕截图,而不是web应用程序中的内容。