我在这里做错了什么?
我试图通过打开一个新窗口并在使用 css 位于页面上的 img 元素中显示 .png 来保存画布绘图。
从那里您可以选择下载或共享它。
到目前为止我已经有了这个,但是 img src 没有被 toDataUrl() 填充;
function saveDrawing() {
var url = canvas.toDataURL();
window.open('saveimage.php');
var placeholder = document.getElementById("placeholder");
placeholder.src = url;
}
Run Code Online (Sandbox Code Playgroud)
有什么想法吗?谢谢!
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;
};
}
Run Code Online (Sandbox Code Playgroud)
这可能会出现错误,想法是存储对新窗口的引用w,然后在加载时访问它的 DOM 来修改图像 src