我使用Backbone和html2canvas.js,这是我到目前为止将div转换为canvas并保存它的代码。它有效,但它没有添加.jpg扩展名。因此,在下载图像后,FF和Chrome首先询问我要用于打开文件的程序,IE只是告诉我,我没有合适的程序并建议访问商店。
在FF和Chrome中,我可以在选择默认的Windows图片浏览器等时看到图像。
我想要实现的是添加.jpg扩展名,以便立即在默认程序中打开文件:
savePicture: function() {
//$(this.el).find('.drag-img').unwrap();
var image = $(this.el).find('#droppable2');
html2canvas(image, {
onrendered: function(canvas) {
var img = canvas.toDataURL("image/jpeg");
var frame = document.getElementById("myHideFrame");
if (!frame) {
frame = document.createElement("iframe");
frame.id = "myHideFrame";
document.body.appendChild(frame);
}
frame.src = img.replace(/^data[:]image\/(png|jpg|jpeg)[;]/i, "data:application/octet-stream;");
}
});
},
答案 0 :(得分:-1)
可悲的是,IE8 and above only supports data URIs in CSS, <link>
, and <img>
。因此,将其添加到框架中将无法正常工作。
对于IE8及更高版本,您是否可以将数据放入<img>
并要求用户右键单击并保存图像?