diff --git a/src/containers/project-saver.jsx b/src/containers/project-saver.jsx index 4886ee6394c389b0280b6a939045f8c397d14d0f..0c755c8538d612547108508f9bd688a39eaf8ec9 100644 --- a/src/containers/project-saver.jsx +++ b/src/containers/project-saver.jsx @@ -29,15 +29,21 @@ class ProjectSaver extends React.Component { document.body.appendChild(saveLink); this.props.vm.saveProjectSb3().then(content => { - const url = window.URL.createObjectURL(content); - - saveLink.href = url; - // TODO user-friendly project name // File name: project-DATE-TIME const date = new Date(); const timestamp = `${date.toLocaleDateString()}-${date.toLocaleTimeString()}`; - saveLink.download = `untitled-project-${timestamp}.sb3`; + const filename = `untitled-project-${timestamp}.sb3`; + + // Use special ms version if available to get it working on Edge. + if (navigator.msSaveOrOpenBlob) { + navigator.msSaveOrOpenBlob(content, filename); + return; + } + + const url = window.URL.createObjectURL(content); + saveLink.href = url; + saveLink.download = filename; saveLink.click(); window.URL.revokeObjectURL(url); document.body.removeChild(saveLink);