我在做截图拍摄剧本。对于截图,我使用的是html2canvas库。问题是,当屏幕截图最终被拍摄,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
}
});
}有什么好的直进解决方案吗?我的意思是,不使用全局vars或将这个dataObj保存在磁盘上。
发布于 2017-06-08 20:57:28
由于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);
}
});
}https://stackoverflow.com/questions/44445255
复制相似问题