目前有点 Javascript 的噩梦。
我正在使用 html2canvas 将 div 转换为画布,然后.toDataURL
将画布转换为 base64 数据流。
我想在新窗口中打开 base64 图像数据,但它会被我测试过的每个弹出窗口阻止程序阻止。
这是我的功能示例
function generateImage(xarg){
var divid= document.getElementById(xarg);
html2canvas(divid, {
onrendered: function(canvas) {
var imgdata = canvas.toDataURL("image/png");
window.open(imgdata);
}
});
}
知道为什么我window.open
的被阻止了吗?
编辑:我的另一个想法是启动图像的下载,但是我发现的每个解决方案都需要更改数据,image/octet-stream
这会弄乱文件类型,而且我的用户将无法处理(尤其是那些在移动设备上的)。我最初有一个更长的帖子来解释我的情况,但为了简洁起见,我将其截断了。