Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/393.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 将选定区域作为图像上载到服务器_Javascript_Firefox_Firefox Addon_Greasemonkey - Fatal编程技术网

Javascript 将选定区域作为图像上载到服务器

Javascript 将选定区域作为图像上载到服务器,javascript,firefox,firefox-addon,greasemonkey,Javascript,Firefox,Firefox Addon,Greasemonkey,我想创建一个应用程序(Firefox扩展),它将抓取一个屏幕区域,另存为图像并上传到服务器 以下是我的路线图: 首先,我将创建一个greasemonkey用户脚本,它将适用于所有域。 当任何页面加载时,它将添加一个名为屏幕抓取+上传的小按钮。 当用户单击按钮时,它将添加一个鼠标处理程序,以便我可以绘制一个div元素 通过这个可调整大小的div元素,我将在网页上选择一个矩形区域。在MouseUp事件中,我将在所选区域上添加一个等效的Canvas元素 然后我将使用todataurl函数将所选区域转换

我想创建一个应用程序(Firefox扩展),它将抓取一个屏幕区域,另存为图像并上传到服务器

以下是我的路线图:

首先,我将创建一个greasemonkey用户脚本,它将适用于所有域。 当任何页面加载时,它将添加一个名为
屏幕抓取+上传的小按钮。
当用户单击按钮时,它将添加一个鼠标处理程序,以便我可以绘制一个
div
元素

通过这个可调整大小的
div
元素,我将在网页上选择一个矩形区域。在
MouseUp
事件中,我将在所选区域上添加一个等效的
Canvas
元素

然后我将使用
todataurl
函数将所选区域转换为图像/png。现在,我想把这些数据上传到我的服务器上。因为我的服务器与网页的域不同,所以我需要通过跨域脚本将数据(image/png base64编码)上载到服务器

对于图像上载,我将从我的域向网页添加一个隐藏的
iframe
。从网页中,数据将作为变量发布到此
iframe
,然后从
iframe
中,数据将发布到我的服务器

最后,我将使用compiler/convert将greasemonkey脚本转换为FireFox扩展

我能用这种方式申请吗?
请建议正确的方法。

是的,您完全可以这样做。写你的GM脚本(我建议让它更容易)。当它在通用汽车公司工作时,请使用进行扩展。

我几乎完成了此应用程序。我使用了“截屏”firefox扩展并修改了它的代码。此应用程序将图像保存到本地文件系统。我使用XMLHttpRequest()上传了图像。因为我使用直接Ajax请求上传图像。当Im从chrome窗口请求时,它是有效的