Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用renderer.doElement保存屏幕截图不会';我不在野生动物园工作_Javascript_Safari_Three.js - Fatal编程技术网

Javascript 使用renderer.doElement保存屏幕截图不会';我不在野生动物园工作

Javascript 使用renderer.doElement保存屏幕截图不会';我不在野生动物园工作,javascript,safari,three.js,Javascript,Safari,Three.js,请看下面的视频来说明这个问题:它应该像在Chrome和Firefox中一样保存为png。safari提供的只是一个没有文件扩展名的空白“未知”文件。以下是JS: function getCanvasImg(){ var canvas = document.getElementById('mCanvas'); console.log(renderer.domElement.toDataURL()); var link = document.getElementById('canvasImg');

请看下面的视频来说明这个问题:它应该像在Chrome和Firefox中一样保存为png。safari提供的只是一个没有文件扩展名的空白“未知”文件。以下是JS:

function getCanvasImg(){
var canvas = document.getElementById('mCanvas');
console.log(renderer.domElement.toDataURL());
var link = document.getElementById('canvasImg');
link.href = renderer.domElement.toDataURL().replace("image/png", "image/octet-stream");
link.download = 'canvas.png'
link.click();
}
此外,您会注意到画布被移动到屏幕的左侧;它应该像在其他浏览器中一样处于中心位置


任何帮助都将不胜感激,谢谢

请在调用
toDataURL()
之前尝试调用
renderer.render()
。不幸的是,这不起作用。控制台显示“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace(“image/png”,“image/octet stream”);“在调用
toDataURL()
之前再次渲染场景。我尝试了“renderer.doelement.renderer.render().toDataURL().replace”(“image/png”,“image/octet stream”);“如果这是您的意思?
renderer.render.render(场景,摄影机);link.href=renderer.doElement.toDataURL();
在调用
toDataURL()
之前尝试调用
renderer.render()
。不幸的是,这不起作用。控制台显示“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace”(“image/png”),”image/octet stream“;”在调用
toDataURL()
之前再次渲染场景。我尝试了“renderer.domElement.renderer.Render().toDataURL().replace(“image/png”,“image/octet stream”);“如果这是您的意思?
renderer.Render(场景,摄影机);link.href=renderer.domElement.toDataURL();
尝试调用
renderer.Render()
就在您调用
toDataURL()
之前。不幸的是,这不起作用。控制台说“TypeError:renderer.render(…)未定义”。我将第5行替换为:“link.href=renderer.render().toDataURL().replace(“image/png”,“image/octet stream”);”在调用
toDataURL()
之前再次渲染场景。我尝试了“renderer.domElement.renderer.render().toDataURL().replace(“image/png”、“image/octet stream”);“如果这是您的意思?
renderer.render(场景、相机);link.href=renderer.domElement.toDataURL();