我在这里做错了什么?
我试图通过打开一个新窗口并在一个img元素中显示.png来保存画布,该元素位于带有css的页面上。
从那里,您可以选择下载或分享。
到目前为止我有这个,但img src没有填充toDataUrl();
function saveDrawing() {
var url = canvas.toDataURL();
window.open('saveimage.php');
var placeholder = document.getElementById("placeholder");
placeholder.src = url;
}
有什么想法?谢谢!
答案 0 :(得分:4)
document.getElementById("placeholder");
不会在新打开的窗口中查找该ID,而是在当前窗口中查找。
您所要做的就是引用新创建的窗口文档:
function saveDrawing() {
var url = canvas.toDataURL();
w = window.open('saveimage.php');
w.onload = function(){
var placeholder = w.document.getElementById("placeholder");
placeholder.src = url;
};
}
这可能有错误,想法是你在w
中存储对新窗口的引用,然后当它被加载时,访问它的DOM来修改图像src