我正在制作截屏脚本。为了截取屏幕截图,我正在使用html2canvas
lib。事情就是最终拍摄截图并调用onrendered
回调我必须做一些额外的处理,为此我需要能够得到一些我之前使用的参数。
function onMessageReceived(event){
...
if (dataObj.screenshot)
{
takeScreenshot(dataObj);
}
}
截取功能:
function takeScreenshot(dataObj) {
html2canvas($('body'),{
onrendered: function (canvas) {
var imgString = canvas.toDataURL("screenshot.png");
window.open(imgString);
//do some additional handling here using dataObj
}
});
}
它有一些很好的直接解决方案吗?我的意思是,不使用全局变量或在磁盘上保存此dataObj
。
答案 0 :(得分:1)
由于JS工作范围的方式,dataObj
已在takeScreenshot
函数的范围内可用,因为您从其他函数传递了它。所以你需要做的就是在回调中使用它。以下是如何提醒您screenshot
上dataObj
属性的值。
function takeScreenshot(dataObj) {
html2canvas($('body'),{
onrendered: function (canvas) {
var imgString = canvas.toDataURL("screenshot.png");
window.open(imgString);
alert(dataObj.screenshot);
}
});
}