我正在制作一个搜索NASA api并获取图像的网络应用程序。然后将该图像绘制到画布元素,用户可以进行调整和编辑图像。我正在尝试拍摄最终图像的快照,并通过canvas.toDataURL()在另一个浏览器选项卡中打开它,但我得到的“污染的画布可能无法导出”错误。我没有在api文档中看到关于jsonp的任何内容。我正在使用fetch api做出反应,如下所示:
fetchPOD = (date) => {
let that = this;
fetch('https://api.nasa.gov/planetary/apod?&date=' + date + API_KEY)
.then(resp => resp.json())
.then(resp => {
let link = resp.url;
if(resp.media_type === 'image'){
let noImage = document.getElementsByClassName('no-image')[0];
noImage.style.display = 'none';
that.setState({
pod: resp.url,
podTitle: resp.title
})
} else {
that.setState({
pod: 'https://apod.nasa.gov/apod/image/1709/EclipseClimber_Struder_1080.jpg',
nonImageLink: link,
podTitle: 'A Hiker and the Eclipse'
})
let noImage = document.getElementsByClassName('no-image')[0];
noImage.style.display = 'block';
}
})
};
我没有在这个应用上运行服务器。还有别的办法吗?