Skip to content

Commit

Permalink
feat: replace dataurl-based saving with blob + file-saver for bette…
Browse files Browse the repository at this point in the history
…r reliability
  • Loading branch information
seleb committed Oct 13, 2021
1 parent 1f0bf47 commit 5cfe2fc
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 11 deletions.
11 changes: 11 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 1 addition & 0 deletions package.json
Expand Up @@ -65,6 +65,7 @@
"vite-plugin-markdown": "^2.0.2"
},
"dependencies": {
"file-saver": "^2.0.5",
"jquery": "^3.3.1"
}
}
15 changes: 4 additions & 11 deletions src/scripts/borksy.js
@@ -1,3 +1,4 @@
import { saveAs } from 'file-saver';
import $ from 'jquery';
import { html as htmlChangelog } from '../../CHANGELOG.md';
import { htmlAbout, htmlFaqs, htmlHowto, htmlTips, htmlTools } from '../about';
Expand All @@ -8,7 +9,7 @@ const loadedFiles = {};
function loadFileFromPath(filename, pathToDir, doneCallback, failCallBack, filenameOverride) {
const $ajax = $.ajax(pathToDir + filename);
$ajax.done(() => {
loadedFiles[filenameOverride || filename] = escape($ajax.responseText);
loadedFiles[filenameOverride || filename] = $ajax.responseText;
console.log(`Loaded ${filenameOverride || filename} via AJAX`);
doneCallback?.($ajax.responseText, filenameOverride);
});
Expand All @@ -31,16 +32,8 @@ function loadTemplates() {
}

function download(filename, text) {
const element = document.createElement('a');
element.setAttribute('href', `data:text/plain;charset=utf-8,${encodeURIComponent(unescape(text))}`);
element.setAttribute('download', filename);

element.style.display = 'none';
document.body.appendChild(element);

element.click();

document.body.removeChild(element);
console.log(text);
saveAs(new Blob([text], { type: 'text/html;charset=utf-8' }), filename);
console.log(`File '${filename}' downloaded`);
}

Expand Down

0 comments on commit 5cfe2fc

Please sign in to comment.